将代码添加到Workbook_Open()

我正在尝试编写一段代码,将以下代码放入已创build的新的Excel工作簿中。 生成的代码应该是

Private Sub Workbook_Open() ThisWorkbook.RefreshAll End Sub 

目前我正在使用下面的代码,新的工作簿是活动工作簿。

 Public Sub AddNewModule() Dim proj As VBIDE.VBProject Dim comp As VBIDE.VBComponent Set proj = ActiveWorkbook.VBProject Set comp = proj.VBComponents.Add(vbext_ct_StdModule) comp.Name = "MyNewModule" Set codeMod = comp.CodeModule With codeMod lineNum = .CountOfLines + 1 .InsertLines lineNum, "Private Sub Workbook_Open() lineNum = lineNum + 1 .InsertLines lineNum, "ThisWorkbook.RefreshAll" lineNum = lineNum + 1 .InsertLines lineNum, "End Sub" End With End Sub 

有谁知道我哪里去错了什么或可以帮助我?

这是你正在尝试(短而甜)?

 Option Explicit Sub Sample() With ActiveWorkbook.VBProject.VBComponents(ActiveWorkbook.CodeName).CodeModule .InsertLines Line:=.CreateEventProc("Open", "Workbook") + 1, _ String:=vbCrLf & "ThisWorkbook.RefreshAll" End With End Sub