此问题可能是由于在第二次循环之前没有正确清除前一次运行的对象所引起的。可以在每次循环结束时添加代码来清理对象。
例如,以下代码显示了在每次循环结束时清除对象的示例:
Sub Main() Do While True ' your code here
' clean up objects from the previous run
Set MyObject = Nothing
' run the application
Application.Run "MyMacro"
' delay for a few seconds before continuing to the next loop
Application.Wait Now + TimeValue("00:00:05")
Loop
End Sub
注意,上述代码示例中'MyObject”是在'your code here”部分中声明的一个对象。在每次循环结束时,我们使用'Set MyObject = Nothing”语句将其清除。
通过在每次循环结束时清除对象,我们可以确保在第二次循环运行时没有遗留的对象导致问题。