如何用VBS将宏导入Excel

如何用VBS将宏导入Excel,excel,import,vbscript,Excel,Import,Vbscript,我需要创建一个新的Excel文件(从.csv)并导入两个宏文件:一个.bas和一个.cls。 第一次导入有效,但第二次导入不是导入到此工作簿,而是导入到新的类模块 首先,我从现有的csv文件创建新的excel文件对象 Dim oExcel Set oExcel = CreateObject("Excel.Application") Dim oBook Set oBook = oExcel.Workbooks.Open(srcFile) 然后通过以下方式将.bas导入模块

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

首先,我从现有的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文件执行相同的调用时,它被导入到一个新的类模块目录,而不是这个工作簿

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

它必须导入到此工作簿,因为它在右键单击的上下文菜单中添加了一个条目,否则将不会显示该条目。

由于此工作簿类似联合的性质,我所查找的内容似乎不可能实现。我将创建一个包含所有宏的模板Excel文件,在脚本中打开该文件,插入所有csv数据并将其另存为新的Excel文件。
这种方法也更好,因为它只需要脚本下的一个附加文件(模板),而不需要两个导出的宏文件(将来也不需要更多)。

第一个问题,为什么不创建一个包含所有代码的模板文件,并将CSV数据导入模板中(这将是一种更好、更简单的方法)。其次,您不能将任何代码“导入”到此工作簿,因为
.cls
文件始终作为类模块导入。查看
此工作簿中的代码以及工作簿本身作为一个联合体。从
ThisWorkbook
导出代码时,会断开与工作簿本身的连接,并且无法通过导入再次链接,因为新工作簿已包含
ThisWorkbook
代码(即使该代码为空)。谢谢。是的,我认为这样会更好:打开包含所有内容的模板,导入csv数据并将其保存为新的excel文件。