如何让XLTM工作簿打开后直接跳转至VBA编辑器指定子过程?
实现打开XLTM工作簿时自动进入VBA编辑器并定位到指定过程
如何实现打开XLTM工作簿时,直接进入VBA编辑器,定位到名为Module1的模块,并跳转至名为Test的子过程?
已解决,通过工作簿的Workbook_Open事件即可实现该需求,适配后的代码如下:
Private Sub Workbook_Open() Dim wb As Workbook, TestPrLineNo As Long Application.VBE.MainWindow.Visible = True '显示VBE窗口 Set wb = ThisWorkbook 'Workbooks.Open(wbFullName) '打开工作簿并设置对象 wb.VBProject.VBComponents("Module1").Activate '激活目标模块 TestPrLineNo = Application.VBE.ActiveCodePane.CodeModule.ProcBodyLine("Test", 0) '获取Test过程的起始行号 Application.VBE.ActiveCodePane.CodeModule.CodePane.SetSelection TestPrLineNo + 1, _ 1, TestPrLineNo, 1 '选中过程首行 End Sub
代码说明:
Application.VBE.MainWindow.Visible = True:强制显示VBA编辑器窗口,确保打开工作簿后自动切换到编辑器界面Set wb = ThisWorkbook:绑定当前打开的工作簿对象;如果需要打开外部指定工作簿,可替换为注释行的Workbooks.Open(wbFullName)并传入工作簿完整路径wb.VBProject.VBComponents("Module1").Activate:激活目标模块Module1,让编辑器焦点定位到该模块ProcBodyLine("Test", 0):获取Test子过程的起始行号,参数0表示目标为子过程(Sub)SetSelection:通过指定行号和列号,精准定位到Test过程的首行位置
内容的提问来源于stack exchange,提问作者k1dr0ck
相关产品推荐
相关产品推荐

