MS Word: Automatisch nach Zeichenfolgen suchen und in Fußnoten umwandeln

MS Word: Automatisch nach Zeichenfolgen suchen und in Fußnoten umwandeln

Ich habe nach Variationen dieser Frage gesucht, aber nichts Vergleichbares gefunden.

Ich habe eine Reihe von Word-Dokumenten, die zwei Arten von Inline-Zitaten enthalten. Das erste ist ein standardmäßiges akademisches Zitat, das mit Zotero eingefügt wurde und unverändert bleiben und mit Zotero verknüpft bleiben muss.

Der zweite Typ ist Klartext und muss an derselben Stelle in eine Fußnote umgewandelt werden, wobei die Klammern entfernt werden müssen. Der zweite Zitattyp beginnt immer mit „(Datei XX_XX“, wobei X Ganzzahlen sind, oder mit „(Digitale Datei“.

Es wäre eine enorme Hilfe, wenn alle Zitate dieses zweiten Typs auf einmal in Fußnoten umgewandelt werden könnten. Andernfalls würde auch ein Makro funktionieren, das ausgewählten Text in eine Fußnote umwandelt und die Klammern entfernt.Mir ist es jetzt gelungen, ein Makro aufzuzeichnen, das sie nacheinander ausführt, aber es wäre großartig, wenn es eine Möglichkeit gäbe, den Vorgang im gesamten Dokument zu automatisieren.

Hoffe, Sie können helfen, und Danke im Voraus.

Hier ist ein Beispielabsatz mit beiden Zitatarten:

Der zweite Bereich, in dem die Provinzregierung von Gauteng institutionelle Verantwortung trug, war die Regulierung der öffentlichen Verkehrsbetriebe. Mit dem National Land Transport Transition Act von 2000 wurden die Operating Licence Boards der Provinzen eingerichtet, die allein für die Ausstellung streckenbasierter Betriebslizenzen an alle öffentlichen Verkehrsbetriebe zuständig waren (Cameron, 2005; Wosiyana, 2005; Palmer, Moodley und Parnell, 2017). Diese OLBs wurden für die Verwaltung der Umwandlung alter radiusbasierter Genehmigungen in streckenbasierte Betriebslizenzen sowie für die Ausstellung neuer Lizenzen unter Anleitung der Kommunalverwaltungen verantwortlich gemacht. Zur Zeit von Rea Vaya befand sich die Gauteng OLB jedoch in einem „administrativen Chaos“ und hatte praktisch aufgehört, Betriebsgenehmigungen auszustellen, so dass die Stadt Johannesburg die potenziell betroffenen Betreiber auf der Grundlage ihrer Einnahmen für noch nicht bearbeitete Genehmigungsanträge zählen musste (Datei 03_05, BRT Phase 1a, gemeinsames Teilnahmetreffen der Arbeitsgruppe zwischen der Stadt Johannesburg und der Taxibranche, 26. März 2010).

Das letzte Zitat muss eine Fußnote sein, die nur lautet:

Datei 03_05, BRT Phase 1a Gemeinsame Arbeitsgruppe zur Beteiligungssitzung zwischen der Stadt Johannesburg und der Taxibranche, 26. März 2010

Antwort1

So etwas in der Art, aber Sie müssen entscheiden, wie viel Aufwand Sie betreiben möchten, damit es funktioniert und wie viel Sie manuell nachbessern müssen.

Sub NotesToFootnotes1()
'
Const matchcount As Integer = 2
Dim i As Integer
Dim r As Word.Range
Dim rStart As Word.Range
Dim fn As Word.Footnote
Dim s(1 To matchcount, 1 To 2) As String
' This uses a wildcard search which looks for 3 "groups"
' The first is a "("
' The second is the 'body' of the footnote
' The third is a ")"
s(1, 1) = "([(])(File [0-9][0-9]_[0-9][0-9]*)([)])"
' This replaces the found text by the content of the second group.
s(1, 2) = "\2"
s(2, 1) = "([(])(Digital file*)([)])"
s(2, 2) = "\2"
For i = 1 To matchcount
  Set r = ActiveDocument.Content
  With r.Find
    .Text = s(i, 1)
    .Replacement.Text = s(i, 2)
    .Forward = True
    .Wrap = wdFindStop
    .Format = False
    ' This wil actually match Digital fIle, Digital File, DIGITAL FILE etc.
    ' If you only want to match Digital file, set it to False
    .MatchCase = True
    .MatchWholeWord = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    ' Very important!
    .MatchWildcards = True
    .Execute Replace:=True
    Do While .Found
      Set rStart = r.Duplicate
      rStart.Collapse WdCollapseDirection.wdCollapseStart
      ' Initially, create an empty footnote, because if we want to
      ' put formatted text in the footnote, we can't do it in the .Add
      With rStart.Footnotes.Add(Range:=rStart, Text:="")
        ' Don't copy the newly inserted footnote reference!
        r.Start = r.Start + 1
        ' This copies the content of the range, which would include formatting
        ' possibly images and so on. If you don't want that, use
        ' .Range.Text = r.Text
        ' instead, but be aware that anything other than text will probably not
        ' copy exactly the way you expect.
        .Range.FormattedText = r.FormattedText
      End With
      Set rStart = Nothing
      r.Delete
      .Execute Replace:=True
    Loop
    Set r = Nothing
  End With
Next ' i
End Sub

verwandte Informationen