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

例如打开某个路径下,带有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
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-10
Sub 读取文件名()
myPath = "K:\Movie" '把文件路径定义给变量
n = 1
myFile = Dir(myPath & "\*.*")
Do While myFile <> "" and left(myfile,4)="ABC-"
Cells(n, 1) = myFile
workbooks(myfile).open
myFile = Dir '找寻下一个文件
n = n + 1
Loop
End Sub
第2个回答  2013-04-10
Sub 读取文件名()
myPath = "K:\Movie" '把文件路径定义给变量
n = 1
myFile = Dir(myPath & "\*.*")
Do While myFile <> ""
Cells(n, 1) = myFile
myFile = Dir '找寻下一个文件
n = n + 1
Loop
End Sub
这样可以把所有文件名读出来,其他的你可以看着再改改追问

如果说获取已经打开文件的名称呢?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网