Umbenennen eines Lesezeichens in Word 2010

13

Ich verwende häufig Lesezeichen in Word, um technische Dokumente mit internen Links zu Zitaten und häufig verwendeten Informationen zu erstellen, die im gesamten Dokument konsistent sein müssen. Sie können sie erstellen, indem Sie den Text auswählen und dann zum Menü Insert-> Links-> gehen Bookmarkund einen Namen zuweisen, dann zu Insert-> Links-> gehen Citationsund das einzufügende Lesezeichen auswählen. Dadurch wird der Text dieses Lesezeichens an einer anderen Stelle im Dokument eingefügt.

Als Beispiel dafür, warum ich das mache: Ich habe oft eine Titelseite, auf der der Dokumentstatus aufgeführt ist, und diese Informationen werden dann in der Fußzeile wiederholt. Mithilfe eines Lesezeichens kann ich einen Link zu diesem Text einrichten und diesen Link dann einfach in die Fußzeile einfügen und es wird automatisch aktualisiert, wenn ich zur Druckvorschau gehe oder alle Felder im Dokument aktualisiere. Auf diese Weise kann ich das Suchen und Ersetzen vermeiden und weiß nur, dass der richtige Text an den richtigen Stellen aktualisiert wird.

Geben Sie hier die Bildbeschreibung ein

Nehmen wir jetzt an, ich habe ein Lesezeichen, das ich gerade grob benannt habe, um es zu platzieren:
Geben Sie hier die Bildbeschreibung ein

Es gibt keinen Rechtsklick zum Umbenennen eines Lesezeichens und ich kann keine Dokumenteigenschaft finden, mit der ich es ändern kann.

Ich kann ein NEUES Lesezeichen einfügen, indem ich denselben Text auswähle und dann das alte lösche, aber dann erhalten Sie Folgendes:
Geben Sie hier die Bildbeschreibung ein

Sie müssen dann mit der rechten Maustaste auf das Feld klicken und es wieder auf das (jetzt effektiv umbenannte) Lesezeichen richten.

Dies ist nicht vollständig verwendbar, insbesondere in einem großen Dokument, in dem dieses Lesezeichen mehrmals verwendet wird.

Ich habe herumgegoogelt und mehrere VBA-Skripte im Web gesehen, wie in dieser Frage, aber da sie effektiv einen neuen Boomark erstellen und den alten löschen, verursachen sie das gleiche Problem wie oben und sind weniger als ideal.

Gibt es eine einfachere oder effektivere Möglichkeit, Lesezeichen in Word-Dokumenten umzubenennen? Oder verwende ich möglicherweise das Wrong Tool ™ für diesen Job?

Mokubai
quelle
Meinten Sie Word 2013 statt 2010?
Griechisch - Area 51 Vorschlag
@LePressentiment Meine Kopie von Word ist 2010, aber ich verstehe nicht, warum die folgende Antwort nicht für 2013 gelten würde, es sei denn, sie haben die Lesezeichenfunktion zwischen den Versionen erheblich überarbeitet. Ich wäre tatsächlich überrascht, wenn sie es getan hätten.
Mokubai
@LePressentiment Siehe meine Antwort, die von Mokubai aktualisiert wurde.
DavidPostill

Antworten:

7

Gibt es eine einfachere oder effektivere Möglichkeit, Lesezeichen in Word-Dokumenten umzubenennen?

In Word ist keine Umbenennungsfunktion integriert. Es gibt einige Möglichkeiten, um diesen Mangel zu umgehen:

  1. Verwenden Sie ein Add-In.

  2. Verwenden Sie VBA.


Add-In-Lösung

Verwenden Sie das Lesezeichen-Tool-Add-In

Es bietet eine benutzerfreundliche Oberfläche für alles, was das Standard-Lesezeichen-Dialogfeld bietet, und vieles mehr.

Das Lesezeichen-Tool wurde für Word 2003 entwickelt. Es funktioniert vollständig mit Word 2007/2010.

...

Mit dem Abschnitt "Lesezeichen hinzufügen / umbenennen" ist das Hinzufügen von Lesezeichen ein Kinderspiel.

  • Wie im Standarddialog wählen Sie einfach Text aus, geben einen Namen in das Feld ein und klicken auf "Hinzufügen".
  • Im Gegensatz zum Standarddialog beschränkt das Lesezeichen-Tool die Tasteneingabe auf gültige Lesezeichennamen und warnt Sie, wenn Sie versuchen, einen doppelten Lesezeichennamen zu erstellen.
  • In diesem Abschnitt können Sie auch ein vorhandenes Lesezeichen umbenennen.

    Geben Sie hier die Bildbeschreibung ein

Quell- Lesezeichen-Tool-Add-In


VBA-Lösung

Es gibt keine Umbenennungsfunktion. Sie müssen den alten Namen löschen und den Bereich mit einem neuen Lesezeichennamen markieren. Hier ist ein Beispiel für einen VBA-Code:

Sub ReNameBookMark()
    Dim doc As Word.Document
    Dim rng As Word.Range
    Dim bmk As Word.Bookmark
    Dim inpBookmark, repBookmark, fieldStr As String

    Set doc = Word.ActiveDocument

    inpBookmark = InputBox("Enter bookmark name that you want to be replaced:", "BookMark Replace")
    repBookmark = InputBox("Enter bookmark name replace with:", "BookMark Replace")

    Set rng = doc.Bookmarks(inpBookmark).Range
    Set bmk = doc.Bookmarks(inpBookmark)
    bmk.Delete
    rng.Bookmarks.Add (repBookmark)

    If doc.Fields.Count >= 1 Then
        For i = 1 To doc.Fields.Count
            fieldStr = doc.Fields(i).Code.Text
            If Left(fieldStr, 4) = " REF" Then
                doc.Fields(i).Code.Text = Replace(fieldStr, inpBookmark, repBookmark, , 1, vbTextCompare)
                doc.Fields(i).Update
            End If

            'MsgBox "Code = " & doc.Fields(i).Code & vbCr & "Result = " & doc.Fields(i).Result & vbCr
        Next i
    End If
End Sub

Quelle Ändern Sie den "Namen" eines Lesezeichens und nicht den Text. Fügen Sie eine zusätzliche Schleife durch die Felder im Dokument, um alle Felder zu ändern, die möglicherweise auf das umbenannte Lesezeichen verweisen.

Mit diesem Skript ist Vorsicht geboten. Zum Beispiel alle Lesezeichen umbenennen , die einfach den Namen „REF“ (oder ein Groß- oder Kleinschreibung Variante eines solchen) wird brechen alle Verweise auf amüsante und unerwartete Weise. Dies ist nur als Beispiel und grobe Lösung gedacht.

Wenn Sie mehrere Lesezeichen gleichzeitig stapelweise umbenennen möchten, finden Sie unter Gibt es eine einfachere oder effektivere Möglichkeit, Lesezeichen in Word-Dokumenten umzubenennen? Dies beinhaltet auch Beispiel-VBA-Code.

DavidPostill
quelle
@Mokubai Es sieht so aus, als könnten Sie dies mit dem Add-In tun (siehe aktualisierte Antwort)? Leider habe ich keine Kopie von Word zum Testen ...
DavidPostill
Ich werde das Add-In am Morgen testen, wenn ich wieder auf meinem PC bin. Es ist wahrscheinlich in Ordnung für zu Hause, aber bei der Arbeit denke ich nicht, dass ich es verwenden kann, da unsere IT-Abteilung bei solchen Dingen etwas vorsichtig sein kann. Ich werde beide Methoden ausprobieren und prüfen, ob ich Ihr VBA-Skript für die Suche und das Ersetzen verbessern kann. Wenn ich irgendwohin komme und es für Sie in Ordnung ist, möchte ich es in Ihre Antwort einarbeiten.
Mokubai
@LePressentiment Falls es Hilfe für das gibt, was Sie wollen, habe ich dem obigen VBA-Skript einige Funktionen hinzugefügt, um Ihnen ein Eingabefeld für aktuelle und neue Namen zu geben, und eine schmutzige Suche und Ersetzung in Feldern durchgeführt, die auf diese Lesezeichen verweisen. Es ist nicht perfekt, aber es ist besser als nichts und passt mehr als zu dem, was ich bei der Arbeit tun muss.
Mokubai
Das Lesezeichen-Tool-Add-In unterbricht Verweise auf Lesezeichen nach dem Umbenennen (für mich in Word 365 unter Windows).
filups21
1

Ich hatte das gleiche Problem und bin über diese Problemumgehung / Lösung gestolpert.

Richten Sie für den Text, auf den Sie verweisen möchten, in meinem Fall einen Titel, einen Dokumenteneigenschaftstitel wie folgt ein:

Insert tabQuick PartsDocument PropertyTitle

Dadurch wird ein bearbeitbares Feld für Text hinzugefügt, in das Sie Ihren Titel eingeben können.

Um darauf zu verweisen, können Sie einfach zu Insert tabQuick PartsField→ gehen Titleoder das tun, was ich versehentlich getan habe. Ich hatte eine Referenz eingerichtet und als ich sie damit aktualisierte F9, fügte ich das Titelfeld hinzu, auf das verwiesen wurde.

Dies ist ziemlich cool, da beim Aktualisieren des Titelfelds alle Referenzen automatisch aktualisiert werden, ohne zu drücken F9!!! Dies ist ideal, wenn Sie die Referenz in einer Kopfzeile haben, da die Ctrl+ A-Funktion nicht erfasst, was sich in der Kopf- / Fußzeile befindet, und Sie normalerweise zur Auswahl in die Kopf- / Fußzeile doppelklicken und F9zum Aktualisieren drücken müssen .

Anstatt wie oben angegeben eine Titelreferenz zu erstellen, gehen Sie folgendermaßen vor:

  • Erstellen Sie nach dem Einrichten des Titelfelds ein Lesezeichen für das Titelfeld:

    • Wählen Sie das Titelfeld aus (stellen Sie sicher, dass Sie oben auf die Registerkarte Titel klicken, um das gesamte Feld auszuwählen).
    • InsertBookmark→ (nennen Sie es sagen Project_title) →add
  • Fügen Sie dann die Referenz wie folgt hinzu:

    • Insert tabQuick PartsFieldRef(und wählen Sie Project_titleoder wie auch immer Sie es nannten)
Lee
quelle