我想使用通配符打開存儲在與我的宏工作簿相同的文件夾中的工作簿。在該文件夾中是一個名爲302113-401yr-r01.xlsm
的文件。這裏是我的代碼:使用通配符打開Excel工作簿
Workbooks.Open filename:=ActiveWorkbook.Path & "\302113*.xlsm"
但是,它告訴我,沒有這樣的文件。有什麼建議?
我想使用通配符打開存儲在與我的宏工作簿相同的文件夾中的工作簿。在該文件夾中是一個名爲302113-401yr-r01.xlsm
的文件。這裏是我的代碼:使用通配符打開Excel工作簿
Workbooks.Open filename:=ActiveWorkbook.Path & "\302113*.xlsm"
但是,它告訴我,沒有這樣的文件。有什麼建議?
我們無法使用通配符打開文件 - 如果可以的話,想象一下混亂!
您需要使用Dir(ActiveWorkbook.Path & "\302113*.xlsm")
來循環返回的文件。如果只會有一個那麼就使用此功能,一旦:
Dim sFound As String
sFound = Dir(ActiveWorkbook.Path & "\302113*.xlsm") 'the first one found
If sFound <> "" Then
Workbooks.Open filename:= ActiveWorkbook.Path & "\" & sFound
End If
Dir Function:在網上
從我的經驗,這高科技的工作,如果你有通配符/星號爲字符串中的最後一個符號和如果只有一個文件。嘗試這樣做:
Workbooks.Open filename:=ActiveWorkbook.Path & "\302113*"
比如我使用:
Workbooks.Open Filename:="X:\business\2014\Easy*"
和它的作品。
您可以使用通配符打開文件,但僅出於某種原因與UNC路徑打開。
例如:
Set xlFile = xlObj.WorkBooks.Open("\\yourServerHere\dataAutomation\*.xlsx")
這種方法不適用於我,取消我的upvote(已鎖定)。 –
我不是還與Excel,但下面的工作經歷很適合我使用的文件名通配符來打開文件。這個例子要求所有文件都在同一個目錄/文件夾中。是的,這很簡單。
Sub using_wildcards_to_open_files_in_excel_vba()
Dim mypath As String
Dim sFilename As String
'Suppose you have three files in a folder
' Named blank.xlsx,, ex1_939_account.xlsx, and ex1_opt 5.xlsx
'Manually open the blank.xlsx file
'The following code lines will open the second two files before closing the previously opened file.
ActiveWorkbook.Activate
mypath = ActiveWorkbook.Path
'opening xlsx file with name containing "939" and closing current file
mypath = mypath & "\*939*.xlsx"
'MsgBox mypath 'Checking
sFilename = Dir(mypath)
'MsgBox sFilename 'Checking
ActiveWorkbook.Close savechanges:=False
Workbooks.Open Filename:=sFilename
ActiveWorkbook.Activate
mypath = ActiveWorkbook.Path
'opening xlsx file with name ending in "opt 5" and closing current file
mypath = mypath & "\*opt 5.xlsx"
'MsgBox mypath 'Checking
sFilename = Dir(mypath)
'MsgBox sFilename 'Checking
ActiveWorkbook.Close savechanges:=False
Workbooks.Open Filename:=sFilename
End Sub
您不能在路徑或文件名中使用星號。您需要分別打開每個文件。在SO中搜索'Dir函數',確實有很多例子。 [這裏](http://msdn.microsoft.com/en-us/library/office/gg278779%28v=office.14%29.aspx)你也可以找到一些信息。 –