为什么Excel VBA调用加载项函数会导致Excel崩溃?

时间:2016-12-08 22:50:02

标签: excel vba excel-vba excel-addins xll

我正在运行加载加载项(我开发的)的32位Excel 2010(Windows 10.1)。我需要从VBA调用其中一个加载项函数(我将其称为changeText)。

我在其中一个工作表后写了以下VBA代码:

Sub MakeChange()

    Dim result As String

    result = Application.Run("changeText", "teststring")

    Debug.Print result
    Debug.Print "Complete"

End Sub

并将此Sub分配给该工作表上的按钮。

如果我直接从VBA编辑器中运行此函数,它每次都可以正常工作,并将正确的结果返回到Debug窗口。

如果我通过按下按钮从Excel中调用该功能,则第一次出现类型不匹配错误(通过消息框)。如果我再次按下按钮,一切都会挂起,唯一的出路就是杀死这个过程。

如果我将函数移动到工作簿级模块,或多或少发生相同的事情 - 我在Application.Run行上遇到类型不匹配错误,我点击'结束',然后再次相同第二次点击,但这次按下'结束'后应用程序挂起。

加载项已经成熟,当从Excel中直接调用或由加载项调用时,被调用的函数可以正常工作。被调用的XLL函数接受一个字符串并返回一个字符串。

有没有人知道这里会发生什么,特别是应用程序崩溃的原因?

0 个答案:

没有答案