Private Sub DeleteAllModules()
Dim vbProj As Object
Dim vbComp As Object
Dim i As Integer
Dim moduleName As String
Set vbProj = ThisWorkbook.VBProject
' 从后向前遍历集合
For i = vbProj.VBComponents.Count To 1 Step -1
Set vbComp = vbProj.VBComponents(i)
moduleName = vbComp.Name
' 检查模块名称是否符合特定模式
If moduleName Like "模块*" Then
' 删除符合模式的模块
vbProj.VBComponents.Remove vbComp
End If
Next i
End Sub
===
我想让vba函数在执行之后自毁,所以遍历所有"模块*",这个功能,我直接在excel vba中调试是没有任何问题的.
但是放到你的万能工具包中,函数调用就会出错.
===
执行子程序DoOperation出错:子程序(DoOperation)返回中止。命令返回失败,错误:系统错误 &H80070057 (-2147024809)。 参数错误。 (Office软件辅助)。
===
对于这种错误能不能关闭?或者我该怎么调用这个函数避免触发这个错误.
虽然我的所有功能都实现了,但是这个报错很烦人.
===
解决方案:
1,vba模块关闭 等待执行结束 因为这个功能就是调用一下vba的执行,基本上不会有后续,所以不必等待.
2,失败后停止动作也需要关闭,这个没有用,还会报错.
已关闭错误停止。“执行一次就加了一个模块”我这边测试并不会增加任何模块。