永发信息网

EXCEL VBA怎么打开不知道全名的文件

答案:3  悬赏:30  手机版
解决时间 2021-03-06 08:54
例如打开某个路径下,带有ABC的文件,并且获取文件的名称.

我在C盘下有ABC-XXX,ABC-WWW,ABC-DDD这三个文件,我不知道ABC后面跟的是什么,但是我要打开带有ABC字符的EXCEL文件,那么请问VBA怎么写?
最佳答案
建议不要直接打开所有包含指定字符的文件.
下面的代码会把找到的所有包含指定字符的文件名装入一个数组
显示出来让你选择打开一个你指定的.
Sub MyOpen()
Dim Ipath As String, Myfile, FileArr(), N As Integer
'选择在哪个文件夹中查找
With Application.FileDialog(msoFileDialogFolderPicker)
.Show
Ipath = .SelectedItems(1)
End With
Myfile = Dir(Ipath & "\ABC*.XLS")
Do While Myfile <> ""
N = N + 1
ReDim Preserve FileArr(1 To N)
FileArr(N) = N & "." & Myfile
Myfile = Dir
Loop
If N < 1 Then
MsgBox "没有找到符合条件的文件!"
Exit Sub
End If
sfile = Application.InputBox(Join(FileArr, vbCrLf), "请输入要打开的文件序号:", Type:=1)
If sfile = False Then Exit Sub
Workbooks.Open (Ipath & "\" & Split(FileArr(sfile), ".")(1)) '打开选定序号的文件
End Sub

PS:关于获得已打开的工作薄的文件名
Sub test()
'获得激活工作薄的名称
a = ActiveWorkbook.Name
'获得这个工作薄的名称
b = ThisWorkbook.Name
'获得所有已打开的工作薄的名称
Dim wb As Workbook
For Each wb In Workbooks
c = wb.Name '监视C变量,C变量会逐个赋值为所有已打开的工作薄的名称
Next
End Sub
全部回答
Sub 读取文件名() myPath = "K:\Movie" '把文件路径定义给变量 n = 1 myFile = Dir(myPath & "\*.*") Do While myFile <> "" Cells(n, 1) = myFile myFile = Dir '找寻下一个文件 n = n + 1 Loop End Sub 这样可以把所有文件名读出来,其他的你可以看着再改改
vba中用workbooks("文件名")即可访问到打开的工作簿 前提是已经打开的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
jQuery Mobile 怎样在header里的字加上一个小
兴盛街/兴隆路(路口)这个地址在什么地方,我
电脑连到wifi 却上不了网 联想710s
寻求起名请您帮我女儿起个名字,我姓李。我意
【918事变电影】...这部电影所再现的历史事件
聚贤山庄在哪里啊,我有事要去这个地方
双十一预售商品购物卷优惠券问题 5分
请问肥西四中小升初什么时候报名?承取分数线
成都东站到双流机场打的要多少时间
大庆有几个成人用品店?
学两年半的吉他能达到怎样的高度去?
名声大振的意思什么
下图为某生物亚显微结构图,请据图回答问题:
发表什么说说,才能让女朋友知道我现在很伤心.
鸡犬不宁的成语故事
推荐资讯
唐山金诚家用电器销售有限公司在哪里啊,我有
小赵现投资200万元购买理财产品,投资期为3年
《dnf》讲了什么故事 地下城与勇士全主线剧
巴西烤肉桶饭在什么地方啊,我要过去处理事情
游戏三人结拜名字
查干湖有什么鱼
关于蛋白质合成的错误叙述是A.20种氨基酸都有
木字旁加戚念什么
买手机还要身份证和银行卡吗
推荐一个8G内存条
三乡哪里能办健康证多少钱?
派出所给我下了传唤证,说我欧打人,可是我没
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?