在 VBScript 中,我将一个模块注入(inject)到 Excel 文件中,然后我想运行它们。注入(inject)进行得很好,但当我运行时它说找不到它。我已将该位置放入信任中心,因此它应该可以很好地信任它。该模块还有一个名为 Run 的公共(public)子模块。
Dim XL
Set XL = CreateObject("Excel.Application")
Dim book
Set book = XL.Workbooks.Open(wkpath + "\" + wkname, 0, false)
book.VBProject.VBComponents.Import "C:\MyModule.bas"
XL.Application.Run("'" + wkname + "'!Run")
路径和名称都正确。 我这样做有什么问题吗?我的下一步调试步骤是什么。
[编辑] 实际上,现在看起来有些引用没有被选择,所以它收到了有关用户定义类型未定义的错误,但这不是我从 VBScript 收到的错误。我必须手动执行正在发生的事情,然后我看到了该错误。
最佳答案
所以我错过了一个引用,但这个错误是相当假的。我通过在 Excel 文件打开后停止进程并手动添加模块并尝试运行该函数来解决这个问题。所以我在 vbscript 中添加了以下内容并且它起作用了:
book.VBProject.References.AddFromFile“具有我使用的类型的 xlam 的路径”
关于excel - 将模块注入(inject)excel并运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35489854/