我需要在4秒后运行VBA子程序。子例程采用一个字符串参数。我遇到的问题是我需要传递的字符串看起来太长而且错误了。尝试运行此代码:
Sub DoTest()
Application.OnTime Now + TimeSerial(0, 0, 4), "'PrintStr ""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa""'"
End Sub
Sub PrintStr(str As String)
Debug.Print str
End Sub
DoTest()运行没有错误。现在再添加一个“a”到a的字符串并再次运行DoTest()。您将收到“此宏...无法找到”错误。
我如何使用OnTime或其他解决方案来解决这个问题,这个解决方案允许我调用接受参数X秒后的参数的子程序?我正在使用Excel 2003。
答案 0 :(得分:2)
尝试这样的事情:
Dim str As String
Sub DoTest()
str = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Application.OnTime Now + TimeSerial(0, 0, 4), "PrintStr"
End Sub
Sub PrintStr()
Debug.Print str
End Sub