gpt4 book ai didi

vba - Application.Run 带有错误捕获

转载 作者:行者123 更新时间:2023-12-02 17:40:37 25 4
gpt4 key购买 nike

在 Access 中,使用 VBA,我想使用 Application.Run 并捕获任何错误。不幸的是,Application.Run 似乎劫持了错误捕获。有办法解决这个问题吗?

On Error Resume Next
Application.Run ...

即使我指定 On Error Resume Next 或 On Error GoTo ErrCatch,我也永远不会在出现错误时通过 Application.Run。我的错误捕获设置被忽略。

最佳答案

如果您调用的过程位于 VBA 项目内部,那么您可以直接使用以下命令调用该过程:

Sub Foo()
'Application.Run "SomeProc"
SomeProc
End Sub

如果您需要能够通过名称动态调用事物,您可以探索使用类和CallByName:

'In a standard module
Sub Foo()
Dim o as New ProcRunner
CallByName o, "SomeProc", VbMethod, args
End Sub

'In a class module called ProcRunner
Sub SomeProc()
DoSomethingHere
'Or, do something in a standard module
Module1.SomeOtherProc
End Sub

或者,您可以编写自己的动态处理程序,如下所示:

Sub AppRun(ProcName As String, ParamArray Args)
Select Case ProcName
Case "SomeProc"
SomeProc
Case "SomeFunc"
SomeFunc
End Select
End Sub

如果您在另一个 VBA 项目中调用过程,则可能需要添加对该项目的引用,具体取决于 VBA 主机。

但是,如果您因为调用 DLL 或 XLL 注册的函数而使用 Application.Run,那么除了使用 Application 之外,您没有任何选择。运行

关于vba - Application.Run 带有错误捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42124252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com