一個簡單的例子:在某XLS檔加入Workbook_Open事件
Sub ggg()
Dim wb As Excel.Workbook
Set wb = GetObject("C:\test.xls")
With wb.VBProject.VBComponents("ThisWorkbook").CodeModule
.InsertLines 1, "Private Sub Workbook_Open()"
.InsertLines 2, "Msgbox ""This is a Test."""
.InsertLines 3, "End Sub"
End With
wb.Close SaveChanges:=True
Set wb = Nothing
End Sub
VBComponent 是一個VBA專案中的元件,
元件可以是表單(UserForm)、模組(Module)或物件類別。
此例即是在 ThisWorkbook 模組寫入程式。
CodeModule 物件代表一個元件內的程式碼,
要寫入程式就要用到 CodeModule。
另參考
VBE物件/模組/程式碼的讀取方式 (VBComponents)