如何以编程方式将 VBA 代码添加到多个文件?

Leo*_*out 4 python excel vba

我有很多 excel 文件(大约 200 个),我必须在其中添加 VBA 代码(在Workbook_Open()方法中)。
我想自动化,有没有办法以编程方式将 VBA 代码添加到 Excel 工作表?

也许用python的win32包?

Sid*_*out 7

为此,您不需要 python。

逻辑

  1. 循环打开文件。
  2. 使用.CreateEventProc写入相关的代码段。更多关于 .CreateEventProc 这里
  3. 保存并关闭工作簿。

基本要求

您需要启用对 Visual Basic 项目的访问。

  1. 单击文件选项卡。
  2. 单击选项。
  3. 单击信任中心,然后单击信任中心设置。
  4. 在信任中心,单击宏设置。
  5. 选中Trust access to the VBA project object model以启用对 Visual Basic 项目的访问。
  6. 单击确定。

代码

Option Explicit

Sub Sample()
    Dim VBP As Object, VBC As Object, CM As Object
    Dim wb As Workbook

    Set wb = Workbooks.Open("C:\Users\routs\Desktop\Sample.xlsm")

    Set VBP = wb.VBProject
    Set VBC = VBP.VBComponents("ThisWorkbook")
    Set CM = VBC.CodeModule

    With VBC.CodeModule
        .InsertLines Line:=.CreateEventProc("Open", "Workbook") + 1, _
        String:=vbCrLf & _
        "    Debug.Print ""This is a sample text"""
    End With

    'wb.Close (True)
End Sub
Run Code Online (Sandbox Code Playgroud)