Vba 将代码添加到Excel工作簿的VBScript
我的任务是将Vba 将代码添加到Excel工作簿的VBScript,vba,excel,vbscript,Vba,Excel,Vbscript,我的任务是将工作簿\u Open()方法添加到大量Excel工作簿中。我设法编写了一个脚本,其中添加了一个带有所需代码行的模块(标记为红色),但在打开工作簿时,我需要在DieseArbeitsmappe(标记为绿色)中将其添加到autostart中 这是我现在掌握的密码。我很确定,在设置xlmodule时,错误在第1行,但我不知道如何引用DieseArbeitsmappe。提前感谢您的帮助。首先,您不应该将xlmodule用作变量名。它已定义为Excel常量。我会把它叫做组件。VBCompon
工作簿\u Open()
方法添加到大量Excel工作簿中。我设法编写了一个脚本,其中添加了一个带有所需代码行的模块(标记为红色),但在打开工作簿时,我需要在DieseArbeitsmappe
(标记为绿色)中将其添加到autostart中
这是我现在掌握的密码。我很确定,在设置xlmodule时,错误在第1行,但我不知道如何引用
DieseArbeitsmappe
。提前感谢您的帮助。首先,您不应该将xlmodule
用作变量名。它已定义为Excel常量。我会把它叫做组件
。VBComponents
集合有一个索引器,它接受组件的顺序索引或组件名称。在您的情况下,只需使用以下名称即可:
Set component = ThisWorkbook.VBProject.VBComponents("DieseArbeitsmappe")
code = _
"Sub WorkBook_Open()" & vbCr & _
" Application.Run ""'CommonMacro.xlsm'!Workbook_Open""" & vbCr & _
"End Sub"
component.CodeModule.AddFromString code
请注意,这样直接调用事件处理程序通常不是最佳做法。如果需要重用该功能,应将其从处理程序中拉出,然后打开工作簿
调用提取的子文件
Set component = ThisWorkbook.VBProject.VBComponents("DieseArbeitsmappe")
code = _
"Sub WorkBook_Open()" & vbCr & _
" Application.Run ""'CommonMacro.xlsm'!Workbook_Open""" & vbCr & _
"End Sub"
component.CodeModule.AddFromString code