title image


Smiley VBA-Code, der Seitenzahlen zu Sprungmarken umwandelt


Hallo!



Hiermit kannst Du den

Index umwandeln.



Erklärung im Code unten.



zum Einbringen des Makros:

http://mypage.bluewin.ch/reprobst/WordFAQ/Button.htm



Gruß, Chrisir





Suchworte: Index, Indices, Indexes, Stichwortverzeichnis, Konkordanz, VBA, Makro, Seitenzahl, Sprungmarken, umwandeln, Felder, GoToButton.











Option Explicit





Sub IndexUmwandelnUndSeitenzahlenZuSprungmarkenMachen()

    

    ' Der erste Index des Dokuments wird zunächst

    ' umgewandelt, so dass er kein Feld mehr ist.

    ' Er kann deshalb nicht mehr mit F9 aktualisiert

    ' werden.

    ' Dann werden alle Zahlen zu Sprungmarken

    ' umgewandelt.

    ' Um bei einer Änderung des Dokuments den Index zu

    ' aktualisieren, muss man diesen löschen, neu erstellen

    ' (da F9 nicht mehr geht) und dann diesen Makro

    ' erneut starten.

    

    Dim rng1    As Range

    Dim rng2    As Range

    Dim aWort

        

    

    If Documents.Count = 0 Then End

    

    If ActiveDocument.Indexes.Count < 1 Then

        MsgBox "Kein Index gefunden. Abbruch", _

               vbInformation, _

               "Index umwandeln"

        End

    End If

    

    If ActiveDocument.Indexes.Count > 1 Then

        If MsgBox("Achtung. Die Anzahl der Indices ist > 1. " & _

                   "Umgewandelt wird nur der erste Index. Fortfahren?", _

                   vbYesNoCancel + vbInformation, _

                   "Index umwandeln") <> vbYes Then

            End

        End If

    End If

    

    Set rng1 = ActiveDocument.Indexes.Item(1).Range

    ActiveDocument.Indexes.Item(1).Range.Fields.Unlink

    rng1.Select

    

    For Each aWort In rng1.Words

    

        If IsNumeric(aWort) Then

            

             Set rng2 = aWort

             aWort.Fields.Add Range:=rng2, _

                              Type:=wdFieldEmpty, _

                              Text:="GOTOBUTTON """ & _

                                    aWort.Text & _

                                    """ " & _

                                    aWort.Text, _

                              PreserveFormatting:=False

            

        End If

        

    Next aWort

    

    MsgBox "Fertig", _

           vbInformation, _

           "Index umwandeln"

    

End Sub







Code eingefügt mit Syntaxhighlighter 2.4





geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: