用VBA Dir无法打开名称中含特定字符的Excel???急!!!

Workbooks.Open Filename:=Dir(ThisWorkbook.Path & "\" & "*Working*" & ".xlsx"), UpdateLinks:=0
其中,文件夹中肯定存在2014 Working.xlsx,VBA 能返回Excel含有特定字符Working的完整名,2014 Working.xlsx后缀也正确。
却提示在文件夹中(没提哪个文件夹)没找到2014 Working.xlsx
在文件夹下先用随便一个工作簿另存时触发一下就可以了,但这个有点麻烦,不知道为什么
求高人~

第1个回答  2014-04-24

你要遍历 这个文件夹的,然后用 instr 判断的

DIR 不支持模糊匹配

Sub 打开()
Path = "D:\360data\重要数据\桌面\VBA"
f = Dir(Path & "\*.xls", vbNormal)
Do
If InStr(f, "Working") > 0 Then
Set Wkb = Workbooks.Open(Filename:=Path & "\" & f)
Exit Do
End If
f = Dir()
Loop Until f = ""
End Sub

追问

我在文件夹里随便用一个Excel另存到这个文件夹下时,看到文件夹里所有的Excel后就可以了
这是为什么

追答Sub 打开1()
Path = "D:\360data\重要数据\桌面\VBA"
f = Dir(Path & "\" & "*Working*" & ".xls", vbNormal)
Workbooks.Open Path & "\" & f
End Sub

我测试, 这2句分开, 别连一起是可以的

看来dir 是支持通配符的, 是open 语句 不能这么直接调用文件名, 要分2句

本回答被提问者采纳
第2个回答  2014-04-24
是这样的,有的文件名有特殊字符,open语句直接就失败了。追问

不是这样,我看了不是open的问题
而是文件夹地址和找到的Excel不能组合成地址加文件名的问题

相关了解……

你可能感兴趣的内容

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