title image


Smiley Weiß ich jetzt auch nicht...


Aber wie findest Du dieses Makro?

Es erstellt eine Symbolleiste, die alle Textmarken

auflistet (Liste wie in Menü Einfügen | Textmarke)

und wenn man den Code kopiert, kann man diese

Symbolleiste auch verwenden.











Option Explicit





Sub TextmarkenSymbolleisteErstellen()

    

    Const strTitel = "Textmarken-Symbolleiste mit Code erstellen"

    Const strNameSymbolleiste = "Textbausteine"

    

    Dim bookmMyBookmark              As Bookmark

    Dim newButton                    As CommandBarButton

    Dim docAlt                       As Document

    Dim docNeu                       As Document

    Dim customBar                    As CommandBar

    

    

    If Documents.Count = 0 Then Exit Sub

    If ActiveDocument.Bookmarks.Count = 0 Then

        MsgBox "Keine Textmarken gefunden.  ", _

               vbCritical, _

               strTitel

        Exit Sub

    End If

    

    Application.CustomizationContext = ActiveDocument

    

    If ExistiertDerCommandBar(strNameSymbolleiste) Then

        If MsgBox("Die alte Symbolleiste """ & _

                    strNameSymbolleiste & _

                    """ wird gelöscht. Wollen Sie fortfahren?", _

                    vbCritical + vbYesNoCancel, _

                    strTitel) <> vbYes Then

            Exit Sub

        End If

        CommandBars(strNameSymbolleiste).Delete

    End If

    

    Set customBar = CommandBars.Add(strNameSymbolleiste)



    Set docAlt = ActiveDocument

    Set docNeu = Documents.Add

    

    docNeu.Range.Text = "Option explicit" & _

                        vbNewLine & vbNewLine & _

                        "' Code für die Symbolleiste " & _

                        strNameSymbolleiste & _

                        vbNewLine & vbNewLine

    

    For Each bookmMyBookmark In docAlt.Bookmarks

        

        docAlt.Activate

        Set newButton = customBar.Controls.Add(msoControlButton)

        newButton.Caption = bookmMyBookmark.Name

        newButton.Enabled = True

        newButton.Visible = True

        newButton.Style = msoButtonCaption

        newButton.OnAction = "subGo" & bookmMyBookmark.Name

        newButton.BeginGroup = True

        

        docNeu.Range.Text = docNeu.Range.Text & vbNewLine & "sub subGo" & bookmMyBookmark.Name

        docNeu.Range.Text = docNeu.Range.Text & "       ActiveDocument.Bookmarks(""" & bookmMyBookmark.Name & """).Select"

        docNeu.Range.Text = docNeu.Range.Text & "end sub"

        

    Next bookmMyBookmark

    

    customBar.Enabled = True

    customBar.Visible = True



    MsgBox "Kopieren Sie den VBA-Code aus dem neuerstellten Dokument (" & _

           docNeu.Name & ")" & vbNewLine & _

           "bitte in ein VBA-Modul des Dokuments (" & _

           docAlt.Name & _

           "), " & _

           vbNewLine & "in dem so eben die neue Symbolleiste """ & _

           strNameSymbolleiste & """ erstellt wurde. ", _

           vbInformation, _

           strTitel



End Sub



Sub TestOn_ExistiertDerCommandBar()

    MsgBox ExistiertDerCommandBar("Standard")

End Sub



Private Function ExistiertDerCommandBar(strName As String) As Boolean



    Dim objCommandBar As Office.CommandBar

    Dim strResults As String

       

       

    ExistiertDerCommandBar = False

    

    For Each objCommandBar In Application.CommandBars

        

        If objCommandBar.Name = strName Then

            ExistiertDerCommandBar = True

            Exit Function

        End If

           

    Next objCommandBar

        

End Function







Code eingefügt mit Syntaxhighlighter 2.4





geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: