Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
To insert at the cursor line -
Const cPROC As String = "myProcedureName" with alt-P (button on VBE main menu) Install the following into your personal.xls or some addin, code in a normal module and also a class named "cVBEbutton" ' code in normal module in personal.xls or addin Option Explicit Private clsBtnEvents As cVBEbutton ' call IDEmenus true/false in open/close events, or manually Sub auto_openX() ' remove the X IDEmenu True End Sub Sub auto_closeX() IDEmenu False End Sub Sub IDEmenu(bCreate As Boolean) ' add a button on VBE's main menue bar and sub-class its click event Const cPROC As String = "IDEmenus" On Error Resume Next Application.VBE.CommandBars(1).FindControl(Tag:="P rocNameButton").Delete On Error GoTo errH Set clsBtnEvents = Nothing If bCreate Then Set clsBtnEvents = New cVBEbutton Set clsBtnEvents.VBbutton = _ Application.VBE.CommandBars(1).Controls.Add(1, temporary:=True) With clsBtnEvents.VBbutton .Tag = "ProcNameButton" .Style = msoButtonCaption .Caption = "&Proc-Name" .Parameter = "ProcName" End With End If Exit Sub errH: 'Debug.Print cPROC & " " & Err.Description End Sub ' end code in normal module ' code in class "cVBEbutton" Option Explicit Public WithEvents VBbutton As CommandBarButton Private Sub vbButton_Click(ByVal Ctrl As Office.CommandBarButton, _ CancelDefault As Boolean) Const cPROC As String = "vbButton_Click" Dim nStart As Long ' cursor line Dim sProcName As String Select Case Ctrl.Parameter Case "ProcName" With Application.VBE.ActiveCodePane .GetSelection nStart, 0&, 0&, 0& With .CodeModule sProcName = Chr(34) & .ProcOfLine(nStart, 0&) & Chr(34) .InsertLines nStart, "Const cPROC As String = " & sProcName End With End With 'Case "some other button tag" End Select End Sub ' end code in class cVBEbutton Obviously adapt to own needs. Regards, Peter T PS - there's no way to trap obtain names in the Stack while code is running. Can of course break and Ctrl-l "Charlotte E." wrote in message ... Is it possible to get the name of the current running Procedure? Kind of an 'ActiveProcedure.Name' request :-) Thanks, |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Stop a Procedure from another procedure | Excel Discussion (Misc queries) | |||
How to jump from a Form procedure to a Workbook or Module procedure? | Excel Programming | |||
Calling a procedure in a procedure | Excel Programming | |||
Calling a procedure in a procedure | Excel Programming |