Bequemes Hinzufügen von Überschriftennummer UND Text für einen Querverweis

Bequemes Hinzufügen von Überschriftennummer UND Text für einen Querverweis

Ich schreibe hauptsächlich technische Dokumentationen. Die Dokumente benötigen viele Querverweise. Das Format meiner Querverweise ist immer das gleiche:

<heading-number> <space> <heading-text>.

Das Hinzufügen dieser Elemente über den Querverweisdialog ist mühsam. Suchen Sie die Überschrift, wählen Sie die Absatznummer aus der Dropdown-Liste, fügen Sie sie ein, wählen Sie den Absatztext aus der Dropdown-Liste, fügen Sie sie ein, gehen Sie zurück zum Dokument, fügen Sie das Leerzeichen ein (und ändern Sie normalerweise den eingefügten Überschriftentext in Kursivschrift).

Gibt es eine bequemere Möglichkeit, dies zu tun? Ich habe mir vorhandene Fragen zu Querverweisen angesehen (und davon gibt es eine Menge), aber keine schien dieses Problem abzudecken.

Antwort1

Ich habe eineMakroum bequem Querverweise einzufügen und den ganzen Ärger mit dem von Ihnen beschriebenen Querverweisdialog zu vermeiden.
Es kann entweder <heading-number>oder eingefügt werden <heading-text>, lässt sich aber leicht anpassen, um die gewünschte Kombination aus beiden einzufügen.

Antwort2

Vor 7 Jahren und immer noch kämpfen Leute damit. Hier ist mein kleiner Beitrag: Dim strCode As String

With Dialogs(wdDialogInsertCrossReference)
    .ReferenceType = "Numbered item"
    .ReferenceKind = wdNumberRelativeContext
    .InsertAsHyperlink = True
    .SeparateNumbers = False
    .Show
End With
Selection.TypeBackspace 'trick it selects the complete field
Selection.Copy
Selection.MoveRight Unit:=wdCharacter, Count:=1 ' unselect
Selection.TypeText Text:=" " ' Separate with one space
Selection.PasteAndFormat (wdPasteDefault) ' duplicate the copied field
Selection.TypeBackspace ' Select the duplicated field
strCode = Selection.Fields(1).Code ' get the code from the field
strCode = Replace(strCode, "\r ", "") ' Remove option to have paragraph text
strCode = Replace(strCode, "\w ", "")
Selection.Fields(1).Code.Text = strCode ' Update the text of the ;code text
Selection.Fields.Update ' Update the field to display § text
Selection.MoveRight Unit:=wdCharacter, Count:=1 ' Deselect the updated field
Selection.TypeText Text:=" " ' add a space at the end

End Sub

So wie es ist, funktioniert es bei mir ;-) Viel Spaß und freie Zeit zum Spaßhaben...

Antwort3

Die Lösung von Vince S. funktioniert perfekt. Ich darf dazu nichts sagen, da ich noch keine Reputation von 50 habe, aber Vince, deine Lösung ist genial! Sie spart mir eine Menge Zeit.

verwandte Informationen