我一直在努力让这项工作永远存在
我想从当前工作簿wbCntl执行另一个工作簿中的模块。
确切代码在一个应用程序中工作,但在另一个应用程
sSignalInProcess和wbSignalInProcess正确定义。想法是在第一次传递时打开或创建sSignalInProcess文件,然后在后续运行其代码时跳过该代码。
这是我的代码:
Sub GetSignalFile()
'Open workbook if signal file is open
On Error Resume Next
Set wbSignalInProcess = Workbooks(sSignalInProcess)
If Err.Number <> 0 Then
Err.Clear
'Open existing signal workbook
On Error Resume Next
Set wbSignalInProcess = Workbooks.Open(sFilePath & sSignalInProcess)
If Err.Number <> 0 Then
Err.Clear
'Copy template signal workbook to a new workbook file for new signal
FileCopy (sStdSignal), (sFilePath & sSignalInProcess)
wbSignalInProcess.Save
'Open new signal workbook
Set wbSignalInProcess = Workbooks.Open(sFilePath & sSignalInProcess)
End If
End If
Err.Clear
Application.Run (wbSignalInProcess.Name & "!MainIntuitor")
wbCntl.Activate
End Sub
该行
Application.Run (wbSignalInProcess.Name & "!MainIntuitor")
跳过,没有错误就不会执行。任何帮助,将不胜感激。
捐赠
答案 0 :(得分:0)
我建议你添加
On Error Goto 0
在临界线之前。也许你会得到一个更有帮助的错误信息。顺便说一下,第二个
On Error Resume Next
您的代码中没有必要 - 一旦您激活了“Resume Next
”,它就会一直处于激活状态,直到您离开Sub或使用On Error Goto 0
停用它。