我只是想知道是否有可能在外部宏上进行错误处理。基本上我想达到什么是我必须有成千上万的Excel工作簿中,每天进来,我要打开他们每个人并运行这些宏(很容易做到只使用Application.run功能)外部宏错误处理
Application.Run ("'" & ActiveWorkbook & "'!Export")
我想要实现的是如果外部宏引发错误,我想运行错误解析函数。
这是我迄今为止
Dim str_SearchFile, str_FileName, str_SearchPath As String
Dim wb_WorkBook As Workbook
Application.ScreenUpdating = False
Application.DisplayAlerts = False
str_ThisBook = ActiveWorkbook.Name 'Set the current workbook for later reference
str_SearchPath = Sheets("Control Panel").Range("E2")
str_SearchFile = Sheets("Control Panel").Range("E2") & "\*.xls*" 'Sets the file type to search for
str_NextFile = Dir(str_SearchFile, vbDirectory) 'Sets the amount of files in the directory matching the criterea (.xls)
Do While Len(str_NextFile) > 0
On Error Resume Next
Set wb_WorkBook = Workbooks.Open(Filename:=str_SearchPath & "\" & str_NextFile, Password:="")
If Err.Number = 0 Then
On Error GoTo 0
Application.Run ("'" & str_NextFile & "'!Export")
str_FileName = str_SearchPath & "\Done" & "\" & str_NextFile
wb_WorkBook.Save
wb_WorkBook.Close
FileCopy (str_SearchPath & "\" & str_NextFile), str_FileName
Kill (str_SearchPath & "\" & str_NextFile)
End If
str_NextFile = Dir
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
任何意见是非常欢迎!
预先感谢您
如果你正在处理的工作簿中所有具有完全相同的宏,你可以在你的处理工作簿中创建一个版本的它,并通过它,你希望它运行到工作簿引用。然后,您可以对其进行编辑以捕获任何错误,而无需更改数千个现有工作簿中的任何代码。 –