i need a macro to add 'insert bookmark' to my right click menu

well the title says it all really, could someone please write me a macro that will add the insert bookmark function to the right click menu in Word 2002.  i want to be able to save the macro in the normal template so that it will be available in all word docs.

thanks,

nick
nick_harambeeAsked:
Who is Participating?
 
GrahamSkanRetiredCommented:
Thanks for that, I'd given up trying to find which command bar(s) were called by righ-click & and had decided that they weren't available at all.

Given that knowledge, the job was simple:

Option Explicit

Sub AddInsertBookMark()

Dim cb              As CommandBar
Dim c               As CommandBarButton
   
    Set cb = Application.commandbars("Table Text")
    Set c = cb.FindControl(, , "VBAxInsertBookmark")
    If Not c Is Nothing Then
        c.Delete
    End If
    Set c = cb.Controls.Add(msoControlButton, , , 4, True)
    With c
        .Caption = "Insert Bookmark"
        .Style = msoButtonCaption
        .TooltipText = "Insert Bookmark"
        .Tag = "VBAxInsertBookmark"
        .OnAction = "InsertBookmark"
    End With
   
    Set cb = Application.commandbars("Text")
    Set c = cb.FindControl(, , "VBAxInsertBookmark")
    If Not c Is Nothing Then
        c.Delete
    End If
    Set c = cb.Controls.Add(msoControlButton, , , 4, True)
    With c
        .Caption = "Insert Bookmark"
        .Style = msoButtonCaption
        .TooltipText = "Insert Bookmark"
        .Tag = "VBAxInsertBookmark"
        .OnAction = "InsertBookmark"
    End With
   
End Sub

Sub InsertBookmark()
Application.Dialogs(wdDialogInsertBookmark).Show
End Sub
0
 
Shahid ThaikaSole ProprietorCommented:
Does opening the Main template (Normal.dot) and then saving the customized template help, rather that making a macro and running it every time.
0
 
nick_harambeeAuthor Commented:
i have a few macros in my normal template that work fine in all word docs (and i am clear on how to do this), what i need is the specific macro for adding insert bookmark to the right click menu,

nick.
0
Cloud Class® Course: Certified Penetration Testing

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

 
GrahamSkanRetiredCommented:
The context-sensitive right-click pop-up is not exposed for modification. You will need a button if you want to make it a bit quicker to add bookmarks.
0
 
nick_harambeeAuthor Commented:
oh, well someone recently sent me a macro for adding 'paste unformatted text' to the right click menu, one macro for tables, and one for plain documents, and this works fine...so i figured this would be possible for other functions.

nick.
0
 
GrahamSkanRetiredCommented:
Well it's not the first time I've been completely wrong and it won't be the last. Perhaps you could post or point to it and we can adapt it for your new purpose.
0
 
nick_harambeeAuthor Commented:
here is the macro that adds 'paste unformatted text' to the right click menu for both table and standard document.  maybe you could adapt it.  i won't be needing to insert bookmarks into tables so the macro should hopefully be simpler....

Private Sub Document_Open()
   
    Call AddPasteSpecial

End Sub

Private Sub Document_New()
   
    Call AddPasteSpecial

End Sub
 
Sub AddPasteSpecial()

Dim cb              As CommandBar
Dim c               As CommandBarButton
   
    Set cb = Application.CommandBars("Table Text")
    Set c = cb.FindControl(, , "VBAxPasteSpec")
    If Not c Is Nothing Then
        c.Delete
    End If
    Set c = cb.Controls.Add(msoControlButton, , , 4, True)
    With c
        .Caption = "Paste Unformatted Text"
        .Style = msoButtonCaption
        .TooltipText = "Paste Special"
        .Tag = "VBAxPasteSpec"
        .OnAction = "PasteUnformattedText"
    End With
   
    Set cb = Application.CommandBars("Text")
    Set c = cb.FindControl(, , "VBAxPasteSpec")
    If Not c Is Nothing Then
        c.Delete
    End If
    Set c = cb.Controls.Add(msoControlButton, , , 4, True)
    With c
        .Caption = "Paste Unformatted Text"
        .Style = msoButtonCaption
        .TooltipText = "Paste Special"
        .Tag = "VBAxPasteSpec"
        .OnAction = "PasteUnformattedText"
    End With
   
End Sub

Sub PasteUnformattedText()

    Selection.PasteSpecial Link:=False, DataType:=wdPasteText, Placement:= _
        wdInLine, DisplayAsIcon:=False

End Sub
0
 
nick_harambeeAuthor Commented:
thanks graham

all seems to be working fine

i have accepted your answer

nick
0
 
GrahamSkanRetiredCommented:
T
0
 
GrahamSkanRetiredCommented:
Thanks Nick
For the interaction , the lesson, the points and the grade.
Cheers, Graham
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.