存在一个与我相同的重复问题(但没有任何有用的答案):
Excel VBA: Application.Run Error 1004: Cannot find file despite it being in same folder and my trying it with the full path
首先尝试运行宏会出现错误,指出它无法找到文件“”。后续尝试给出了“Object _Application failed方法运行”例程。
所有变量都被声明并实例化,有问题的工作簿打开时没有打嗝或错误(并保持打开状态),在执行之前没有其他错误。单步执行代码并没有解决任何问题。
宏中没有错误(如果我在第二个工作簿的Workbook_Open()中启动链,它们似乎都运行正常,但由于其他原因,这不是所需的功能)。
' Declare the variables and open file
globalWorkbook = "TEST 13.07 1425.xlsm"
filePathAndName = ActiveWorkbook.Path & "\" & globalWorkbook
Workbooks.Open fileName:=filePathAndName, ReadOnly:=False
' Attempt to call macro
tempString = " " & Chr(34) & "'" & globalWorkbook & "'!" & "entryUpdateWorklist" & Chr(34)
Application.Run tempString
entryUpdateWorklist()
定义为Public
,位于Module1
。
中间窗口:
Debug.Print tempString
"'TEST 13.07 1425.xlsm'!entryUpdateWorklist"
我尝试使用单引号,没有单引号,用括号括起tempString,有和没有前导空格,有和没有对模块的显式引用,我尝试在一个明确地打开第二个工作簿新的Excel实例(奇怪的是似乎没有用 - 它打开了实例但没有打开文件) - 几乎所有其他谷歌都出现了。
我不知道怎么说它找不到文件,因为我在宏运行时在第二台显示器上看它。我知道它不仅存在于我所说的位置,而且还是打开的(因为Excel能够首先以编程方式打开它!)。这让我怀疑这是一个Excel.Application实例问题,但我不知道如何找到打开的实例并引用特定的实例。