excel - 将模块注入(inject)excel并运行

标签 excel vbscript vba

在 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/

相关文章:

excel - 无法在 Excel IDE 中设置对 MS Word 的引用

java - 用图像的每个像素的 RGB 值填充 ArrayList

excel - VBA "Invalid Qualifier Error"

macros - 导出Word审稿评论时,如何引用与评论相关的句子?

vbscript - 如何从通过 VBS 读取或通过 ReadAll 引用的子程序中获取行错误?

vba - 动态添加代码到新的 Excel 工作表

vba 列表框多列添加

excel - 将数据复制到文本文件非常慢,可以加快速度吗?

excel - VBA - 删除空行直到有数据

mysql - 需要帮助使用 vb 脚本从 Excel 工作表更新 SQL 表