Kann allen Querverweisen in Word 2007 ein bestimmter Stil zugewiesen werden?

39951
Drake

Nichts weiter hinzuzufügen, ich möchte den Stil aller Querverweise, die ich in einem Word 2007-Dokument habe, auf einmal ändern . Aber ich habe keine Ahnung, wie es geht. Wie kann das gemacht werden?

26
Gute Frage, ich konnte nichts schnell und schmutzig finden. Aber ich denke, es hängt mit dem Stil des gesamten Dokuments zusammen Ivo Flipse vor 14 Jahren 0
@Ivo, ja, ich denke auch, dass es etwas mit dem Stil des Dokuments zu tun hat, aber ich bin ein schlechter SW-Entwickler ohne viel Erfahrung mit Word :) Drake vor 14 Jahren 1
@ marco: siehe meine aktualisierte Antwort Dennis Williamson vor 14 Jahren 0
Ja, tolle Antwort, vielen Dank, sehr, sehr interessant Drake vor 14 Jahren 0

5 Antworten auf die Frage

35
Dennis Williamson

Einige Querverweisarten werden automatisch mit dem Stil "intensive Referenz" formatiert, die meisten jedoch als "normaler" Text.

So wenden Sie den Stil "intensiver Verweis" auf den Text des Querverweises an:

  • wähle den Text aus
  • Wählen Sie in der Multifunktionsleiste die Registerkarte "Startseite"
  • Wählen Sie mit den Auf-Ab-Tasten oder der Dropdown-Schaltfläche in der Gruppe "Stile" des Menübands den Stil "intensive Referenz" (oder einen anderen Stil, wenn Sie möchten).

So ändern Sie die Darstellung des gesamten Textes eines bestimmten Stils:

  • Wählen Sie in der Multifunktionsleiste die Registerkarte "Startseite"
  • Wählen Sie mithilfe der Dropdown-Schaltfläche in der Gruppe "Stile" der Multifunktionsleiste "Stile anwenden ...".
  • Wählen Sie im Dialogfeld "Stile übernehmen" unter "Stilname" den Namen des Stils aus, den Sie ändern möchten (z. B. "intensive Referenz").
  • Klicken Sie auf die Schaltfläche "Ändern"
  • Ändern Sie die Formatierung nach Ihren Wünschen und klicken Sie auf "OK".

So wenden Sie einen Stil auf alle Querverweise gleichzeitig an:

  • Drücken Sie Alt+ F9, um die Feldfunktionen anzuzeigen
  • Wählen Sie im Ribbon die Registerkarte "Home"
  • Klicken Sie in der Gruppe "Bearbeiten" auf "Ersetzen"
  • Geben Sie im Feld "Suchen nach" ein ^19 REF
    • (Das ist Caret-One-Nine-Space-REF)
  • Klicken Sie in das Feld "Ersetzen durch", geben Sie jedoch nichts ein
  • Klicken Sie auf die Schaltfläche "Mehr"
  • Der untere Abschnitt des Dialogs sollte "Ersetzen" (mit einer horizontalen Regel danach) heißen.
  • Klicken Sie auf die Schaltfläche "Format" und wählen Sie "Stil ...".
  • Wählen Sie einen Stil (z. B. "Intensive Referenz") und klicken Sie auf OK
  • Jetzt sollte der von Ihnen ausgewählte Stil unter dem Feld "Ersetzen durch" angezeigt werden
  • Klicken Sie auf "Alle ersetzen", wenn Sie sich mutig fühlen, oder verwenden Sie "Weitersuchen" und "Ersetzen", um die einzelnen Referenzfeldcodes einzeln zu durchsuchen oder zu ersetzen
  • Drücken Sie Alt+ F9, um die Feldfunktionen auszublenden

Auf dieser Seite finden Sie weitere Informationen zu speziellen Codes in Suchen und Ersetzen.

Hier ist ein Makro, das \* mergeformatjedem Feld den Schalter hinzufügt . Diese Option ist erforderlich, damit die Formatierung nicht verloren geht, wenn Sie ein Feldupdate durchführen. Sie können das Makro einem Tastendruck zuweisen, und es wird bei jedem Tastendruck nacheinander durch die Felder geführt. Sie können das Makro auch so bearbeiten, dass es das gesamte Dokument durchläuft, um den Prozess zu automatisieren.

Sub mf() ' ' mf Macro ' Find cross references and add \* mergeformat ' Selection.Find.ClearFormatting With Selection.Find .Text = "^19 REF" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.MoveLeft Unit:=wdCharacter, Count:=1 Selection.TypeText Text:="\* mergeformat " Selection.Find.Execute End Sub 
In der Tat werden die meisten Referenzen, wenn nicht alle, standardmäßig mit normalem Text erstellt. Vielen Dank für die Antwort, aber in diesem Fall muss ich den Stil von jedem manuell einstellen, bevor ich den Stil für alle auf einmal aktualisieren kann. Ich suchte nach einer Methode, die den ersten Schritt des Prozesses automatisieren kann Drake vor 14 Jahren 0
wow, ich wusste nicht, dass diese erweiterte Verwendung von find / replace sehr hilfreich ist Drake vor 14 Jahren 5
Ihre Antwort ist ein kleines Juwel von verdichtetem Wissen. Ein eigenes Wiki wert! Grimace of Despair vor 10 Jahren 5
Jesus Christus ... das funktioniert großartig, aber die Sache ist: Warum ist es so schwierig, einen Stil auf Querverweise anzuwenden? ;) Leniel Maccaferri vor 9 Jahren 5
Unter MS Word 16.9.1 auf Mac funktioniert dies (hat das Makro nicht ausprobiert), aber das Suchen / Ersetzen erfolgt nicht im Home-Ribbon (glaube ich?), sondern im Menü unter Bearbeiten-> Suchen-> Erweitert Suchen und Ersetzen... Michael vor 6 Jahren 0
1 / Wenn es nicht funktioniert, überprüfen Sie, ob Sie Intense Reference mit Intense Emphasis nicht verwechselt haben Antwort unten JinSnow vor 5 Jahren 0
@Dennis funktioniert es für den "Überschriftentext", aber der Stil gilt nicht für die "Seitennummer", eine Idee, wie das geht? JinSnow vor 5 Jahren 0
@ JinSnow: Entschuldigung, nein. Dennis Williamson vor 5 Jahren 0
4
cyborg
  • Drücken Sie Alt+ F9, um die Feldfunktionen anzuzeigen
  • Verwenden Sie das folgende Makro, um CHARFORMAT zu allen Querverweisen hinzuzufügen. Dieses Makro fügt den String nur dann dem Feld hinzu, wenn er noch nicht vorhanden ist.

    Sub SetCHARFORMAT() ' ' Set CHARFORMAT switch to all fields. Replace MERGEFORMAT. ' ' Dim oField As Field Dim oRng As Range For Each oField In ActiveDocument.Fields 'For Each oField In Selection.Fields If InStr(1, oField.Code, "REF ") = 2 Then If InStr(1, oField.Code, "MERGEFORMAT") <> 0 Then oField.Code.Text = Replace(oField.Code.Text, "MERGEFORMAT", "CHARFORMAT") End If If InStr(1, oField.Code, "CHARFORMAT") = 0 Then oField.Code.Text = oField.Code.Text + "\* CHARFORMAT " End If End If Next oField   End Sub 
  • Verwenden Sie dieses Makro, um alle Querverweise mit dem Stil "Subtle Reference" zu formatieren (stellen Sie sicher, dass Sie über einen solchen Stil verfügen und Feldcodes angezeigt werden):

    Sub SetCrossRefStyle() ' ' Macro to set styole of all cross references to "Subtle Reference" ' ' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Style = ActiveDocument.Styles( _ "Subtle Reference") With Selection.Find .Text = "^19 REF" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub 
  • Drücken Sie Alt+ F9, um die Feldfunktionen auszublenden

2
Jaykrushna patel

Wenn Sie das vom Cyborg hochgeladene Makro bearbeiten, können Sie das Ein- und Ausblenden der Feldcodes auf einfache Weise automatisieren. damit wir jedes Mal, wenn wir ein Update durchführen möchten, keine Toggle-Feldcodes verwenden müssen. Ich habe folgenden Code verwendet, um den Feldcode umzuschalten.

ActiveDocument.ActiveWindow.View.ShowFieldCodes = False 

Das vollständige Makro sieht folgendermaßen aus:

Sub SetCrossRefStyle() ' ' Macro to set styole of all cross references to "Subtle Reference" ' ' ActiveDocument.ActiveWindow.View.ShowFieldCodes = True Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting Selection.Find.Replacement.Style = ActiveDocument.Styles( _ "Subtle Reference") With Selection.Find .Text = "^19 REF" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = True .MatchCase = False .MatchWholeWord = False .MatchKashida = False .MatchDiacritics = False .MatchAlefHamza = False .MatchControl = False .MatchWildcards = False .MatchSoundsLike = False .MatchAllWordForms = False End With Selection.Find.Execute Replace:=wdReplaceAll ActiveDocument.ActiveWindow.View.ShowFieldCodes = False End Sub 

Dies ist das erste Mal, dass ich Makros verwende, um meine Arbeit in Wort zu beschleunigen. Danke Cyborg für so ein hilfreiches Makro.

0
Evgeny

Schneller und effektiver Weg:

  1. Wählen Sie einen Text mit der Formatierung aus, die Sie für die Referenzen verwenden möchten.
  2. Wählen Sie die Startseite Registerkarte in der Band.
  3. Klicken Sie mit der rechten Maustaste auf den Normalstil und wählen Sie " Normal aktualisieren", um die Auswahl zu treffen .
  4. Verweise mit Ctrl+ A, aktualisieren F9.
0
TJH

Dieses Makro öffnet das Dialogfeld Querverweis, um einen Querverweis an der aktuellen Cursorposition einzufügen.

Wenn Sie das Xref-Dialogfeld schließen, nachdem Sie den Verweis eingefügt haben, wird das Makro fortgesetzt, um den eingefügten Querverweis auf hochgestellt zu formatieren.

Sub XrefSuper() ' ' This opens the Cross Reference dialogue box to insert a cross reference at the current cursor position. ' When the dialogue box is closed after inserting the reference the macro resumes to format the inserted cross reference to superscript. ' ' Dim wc As Integer wc = ActiveDocument.Characters.Count  Dim dlg As Dialog Set dlg = Dialogs(wdDialogInsertCrossReference) dlg.Show 'Open dialogue and perform the insertion from the dialog box)  'Macro continues after closing CrossRef dialogue box  If wc = ActiveDocument.Characters.Count Then Exit Sub 'If we failed to insert something then exit  Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend Selection.Font.Superscript = wdToggle Selection.MoveRight Unit:=wdCharacter, Count:=1 Selection.Font.Superscript = wdToggle End Sub 

Vielen Dank an Graham Skan von ExpertsExchange für das Öffnen des Xref-Dialogs.