Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
programmatically open VBE and go to a specified procedure in target module?
Hello all,
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 |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
programmatically open VBE and go to a specified procedure in target module?
Hi DataFreakFromUtah,
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] DataFreakFromUtah wrote: Hello all, 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 |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
programmatically open VBE and go to a specified procedure in target module?
Thanks Jake!
I was able to make the procedure work by adding one line of code to it: Application.VBE.MainWindow.Visible = True Apparently the procedure wouldn't work if the VBE wasn't all ready open. I am in Win 2000, Excel 2000, with VBEToolsReferencesMicrosoft VBA Extensibility 5.3 checked. The procedure that worked for me is below: Sub OpenVBEGoToSpecificMacro() Dim lStartLine As Long Application.VBE.MainWindow.Visible = True ThisWorkbook.VBProject.VBComponents("ModuleNameHer e").Activate With Application.VBE.ActiveCodePane.CodeModule lStartLine = .ProcStartLine("VBAProcedureNameHere", 0) .CodePane.SetSelection lStartLine, 1, lStartLine, 1 End With End Sub "Jake Marx" wrote in message ... Hi DataFreakFromUtah, 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] DataFreakFromUtah wrote: Hello all, 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 |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
programmatically open VBE and go to a specified procedure in target module?
Have you tried, simply:
Sub Test() Application.Goto "MyRoutine" End Sub Regards, Peter -----Original Message----- Thanks Jake! I was able to make the procedure work by adding one line of code to it: Application.VBE.MainWindow.Visible = True Apparently the procedure wouldn't work if the VBE wasn't all ready open. I am in Win 2000, Excel 2000, with VBEToolsReferencesMicrosoft VBA Extensibility 5.3 checked. The procedure that worked for me is below: 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" wrote in message ... Hi DataFreakFromUtah, 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] DataFreakFromUtah wrote: Hello all, 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 . |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
programmatically open VBE and go to a specified procedure in target module?
Peter T wrote:
Have you tried, simply: Sub Test() Application.Goto "MyRoutine" End Sub Nice catch, Peter! I didn't think of that one. -- Regards, Jake Marx MS MVP - Excel www.longhead.com [please keep replies in the newsgroup - email address unmonitored] |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
HOW TO CARRY A VAIABLE RESULTS FROM EXCEL SHEET PROCEDURE TO A MODULE | Excel Discussion (Misc queries) | |||
to call procedure in a worksheet in a module | Excel Discussion (Misc queries) | |||
Add reference programmatically before a module compiles | Excel Programming | |||
Lines in a Module(Procedure) | Excel Programming | |||
Programmatically open / edit vba-editor | Excel Programming |