Win 2000
Excel 2000
I am wondering if there is a way to programmatically open the VBE and
go to a specific
procedure or macro in the target module (in this example: basModule1).
I have the code to go
to the target module, but I can't seem
to figure out a way for the procedure to open at the target procedure
or macro.
I spent some time looking at the object model and searching the
microsoft.public.excel.programming newsgroup, no luck.
Might anyone out there have an answer?
Thank you in advance for any information you may provide.
Cheers,
Tom
Sub OpenVBE()
' Open the Visual Basic Editor Programmatically
Application.VBE.MainWindow.Visible = True
'The next line of code goes to a specified module
ThisWorkbook.VBProject.VBComponents("basModule1").Activate
End Sub
I'm not well-versed with the VBE objects, but this seems to work:
Sub OpenVBE()
Dim lStartLine As Long
ThisWorkbook.VBProject.VBComponents("basModule1").Activate
With Application.VBE.ActiveCodePane.CodeModule
lStartLine = .ProcStartLine("test2", 0)
.CodePane.SetSelection lStartLine, 1, lStartLine, 1
End With
End Sub
Just change the "test2" to the name of your procedure.
--
Regards,
Jake Marx
MS MVP - Excel
www.longhead.com
[please keep replies in the newsgroup - email address unmonitored]
Sub OpenVBEGoToSpecificMacro()
Dim lStartLine As Long
Application.VBE.MainWindow.Visible = True
ThisWorkbook.VBProject.VBComponents("ModuleNameHere").Activate
With Application.VBE.ActiveCodePane.CodeModule
lStartLine = .ProcStartLine("VBAProcedureNameHere", 0)
.CodePane.SetSelection lStartLine, 1, lStartLine, 1
End With
End Sub
"Jake Marx" <msn...@longhead.com> wrote in message news:<#fofIVUZ...@TK2MSFTNGP11.phx.gbl>...
Sub Test()
Application.Goto "MyRoutine"
End Sub
Regards,
Peter
>.
>
Nice catch, Peter! I didn't think of that one.