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

Workbooks.OpenFilename:=Dir(ThisWorkbook.Path&"\"&"*Working*"&".xlsx"),UpdateLinks:=0... Workbooks.Open Filename:=Dir(ThisWorkbook.Path & "\" & "*Working*" & ".xlsx"), UpdateLinks:=0
其中,文件夹中肯定存在2014 Working.xlsx,VBA 能返回Excel含有特定字符Working的完整名,2014 Working.xlsx后缀也正确。
却提示在文件夹中(没提哪个文件夹)没找到2014 Working.xlsx
在文件夹下先用随便一个工作簿另存时触发一下就可以了,但这个有点麻烦,不知道为什么
求高人~
展开
 我来答
zl998100
2014-04-24 · TA获得超过730个赞
知道小有建树答主
回答量:1067
采纳率:50%
帮助的人:1053万
展开全部

你要遍历 这个文件夹的,然后用 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句

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光上的桥
2014-04-24 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65814
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
是这样的,有的文件名有特殊字符,open语句直接就失败了。
追问
不是这样,我看了不是open的问题
而是文件夹地址和找到的Excel不能组合成地址加文件名的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式