如何通过VBS将宏导入Excel

时间:2019-06-20 06:45:43

标签: excel import vbscript

我需要创建一个新的Excel文件(从.csv文件)并导入两个宏文件:一个.bas和一个.cls。 第一次导入有效,但第二次导入未导入ThisWorkbook,而是新的类模块。

首先,我从现有的csv文件创建新的excel文件对象。

Dim oExcel
    Set oExcel = CreateObject("Excel.Application")
    Dim oBook
    Set oBook = oExcel.Workbooks.Open(srcFile)

然后通过以下方式将.bas导入模块目录:

    oBook.VBProject.VBComponents.Import scriptPath & "\" & "MyMacro" & ".bas"

当我对.cls文件进行相同的调用时,它会导入到新的类模块目录中,而不是ThisWorkbook中。

    oBook.VBProject.VBComponents.Import scriptPath & "\" & "RightClickEntry" & ".cls"

必须将其导入ThisWorkbook,因为它会将一个条目添加到右键单击上下文菜单中,否则将不会显示。

1 个答案:

答案 0 :(得分:1)

由于ThisWorkbook之类的自然界的结合,我一直在寻找的东西似乎是不可能的。我将使用所有宏创建一个模板Excel文件,在脚本中打开它,插入所有csv数据并将其另存为新的Excel文件。 这种方法也更好,因为它只需要脚本下面的一个附加文件(模板),而不需要两个导出的宏文件(或将来的更多文件)。