【发布时间】:2017-04-06 13:58:46
【问题描述】:
我在以下目录中有一个 .xlsx 文件:
G:\BUYING\Food Specials\2. Planning\1. Planning\1. Planner\8. 2017\2017 Planner.xlsx
我可以把它指向这个目录,但是目录会根据它的年份而改变。
所以这个目录可以变成:
G:\BUYING\Food Specials\2. Planning\1. Planning\1. Planner\9. 2018\2018 Planner.xlsx
为了解决这个问题,我尝试像这样在我的路径中添加通配符:
G:\BUYING\Food Specials\2. Planning\1. Planning\1. Planner\" & "*." & " " & Year(Date) & "\"
我的工作簿打不开。 请问有人可以告诉我哪里出错了吗?
子:
'Find Planner
If Len(FindDepotMemo) Then
Set wb2 = Workbooks.Open(FindDepotMemo, ReadOnly:=True, UpdateLinks:=False)
End If
功能:
Function FindDepotMemo() As String
Dim Path As String
Dim FindFirstFile As String
Path = "G:\BUYING\Food Specials\2. Planning\1. Planning\1. Planner\" & "*." & " " & Year(Date) & "\"
FindFirstFile = Dir$(Path & "*.xlsx")
While (FindFirstFile <> "")
If InStr(FindFirstFile, "Planner") > 0 Then
FindDepotMemo = Path & FindFirstFile
Exit Function
End If
FindFirstFile = Dir
Wend
End Function
【问题讨论】:
-
这似乎是对您的问题的公平回答。 stackoverflow.com/questions/19527415/…
-
我不明白您为什么不知道要打开的确切文件?您肯定会从用户那里获取输入,例如
strYearOfInterest,然后使用该输入设置一个变量,然后将其传递到文件名的字符串中? -
@Variatus 谢谢我试过了,但我认为这是因为我使用带数字的通配符并且它不一样
-
您的最后一个文件夹应该是
8. 2017吗?你不能把它当作只有2017吗?因为,没有8.,一切正常。 -
@ManishChristian 不幸的是,我无法更改文件夹:(