[Last Call] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 323
  • Last Modified:

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
0
nick_harambee
Asked:
nick_harambee
  • 5
  • 4
1 Solution
 
Shahid ThaikaCommented:
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
 
GrahamSkanCommented:
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
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
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
 
GrahamSkanCommented:
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
 
GrahamSkanCommented:
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
 
nick_harambeeAuthor Commented:
thanks graham

all seems to be working fine

i have accepted your answer

nick
0
 
GrahamSkanCommented:
T
0
 
GrahamSkanCommented:
Thanks Nick
For the interaction , the lesson, the points and the grade.
Cheers, Graham
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now