Excel 将代码添加到工作簿_Open()
我正在尝试编写一段代码,将以下代码放入已创建的新excel工作簿中。生成的代码应该是Excel 将代码添加到工作簿_Open(),excel,vba,Excel,Vba,我正在尝试编写一段代码,将以下代码放入已创建的新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
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
有人知道我哪里出了问题,或者有什么能帮到我的吗?这就是你正在尝试的(简短而甜蜜)
您是否尝试在私有子工作簿_Open()的末尾添加“结尾处”?(;使用已包含该代码的模板或设置刷新workbok open(无代码打开)时所需的任何内容都要容易得多。
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