1
我想弄清楚什麼突然改變在Excel中,使我的代碼停止工作,特別是因爲星號通配符。我將此代碼作爲前端將數據文件(包括.xls和。xlsx)合併到包含下面顯示的代碼的空白文件中。這工作正常,並使用無數次沒有問題。文件本身和代碼幾周前在Excel 2016上完成。excel 2016 VBA星號通配符導致1004應用程序定義或對象定義錯誤
現在,當它運行時,我收到「運行時錯誤1004應用程序定義或對象定義的錯誤」,我不知道爲什麼。我在每一行都修改了文字,我很確定它是導致錯誤的「.xl」。
我用目標文件夾中的實際文件名替換了「.xl」,它沒有任何問題。爲什麼使用星號突然導致這個錯誤?
有沒有人跑過這個之前呢?我搜索了高低,並找不到任何人報告完全相同的東西。這是我一直在使用的,再次,它現在工作很好,幾個星期了。
Sub MergeDataFiles()
Dim sPath As String
Dim MyFile As String
Dim wBk As Workbook
sPath = InputBox("Paste File Path Here")
MyFile = Dir(sPath & "\*.xl*")
Application.EnableEvents = False
Application.ScreenUpdating = False
Do While Len(MyFile) > 0
Set wBk = Workbooks.Open(sPath & MyFile)
wBk.Sheets(1).Copy After:=ThisWorkbook.Sheets(1)
wBk.Close True
MyFile = Dir()
Loop
ActiveWorkbook.Save
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
嘗試'SPATH&「\」&「* .xl *」' – CallumDA
使用'設置wBk = Workbooks.Open(sPath&「\」&MyFile)' – user3598756
你確定你的'sPath'沒有包含反斜槓字符嗎? – JiheL