我想运行Application.OnTime并指定工作簿和一些参数。我可以让他们自己工作,但不能一起工作。
例如,如果"MacroToBeCalled"子例程位于我设置Application.OnTime的同一工作簿中,则以下代码有效。它使用单引号,如下所述。
Application.OnTime Now(), "'MacroToBeCalled ""String To Send""'"
此外,如果"MacroToBeCalled"子例程位于名为"Test File.xlsm"的工作簿中,则以下代码有效,这与我运行这行代码的位置不同。
Application.OnTime Now(), "'Test File.xlsm'!MacroToBeCalled"
但是,我找不到发送参数的方法。我正在寻找类似以下的东西,尽管这不起作用。
Application.OnTime Now(), "''Test File.xlsm'!MacroToBeCalled ""String To Send""'"
如果可能的话,我需要提供什么样的字符串格式才能工作?
如果你需要更多的细节,我有两个工作簿,一个叫做A,一个叫B。A和B都包含一个名为MacroToBeCalled
的子例程。我正在使用工作簿a中的一个按钮,该按钮使用Application.Run
来运行工作簿B中名为SetOnTimeToRunMacro
的宏。我想要的是工作簿B中的SetOnTimeToRunMacro
子例程调用Application.OnTime
来运行工作簿B的MacroToBeCalled
。然而,当实际触发OnTime
时,它在工作簿A中运行MacroToBeCalled
,而不是在工作簿B中运行,即使在工作簿B设置了OnTime
要使用的正确格式是:
Application.OnTime Now(), "'Test File.xlsm'!'MacroToBeCalled ""String To Send""'"
之前的部分!标记和后面的部分应该有单引号。