Word oder LibreOffice / OpenOffice - Wie füge ich automatisch Fußnotentext am Fußnotenverweis ein?


1

Ich habe einige docx-Dokumente, die viele Fußnoten mit normalerweise einem kurzen Fußnotentext enthalten (z. B. "Richard 2010." oder "siehe Abschnitt xy"). Es ist viel praktischer, diese im Dokumenttext in Klammern [] an und anstelle der Fußnoten-Referenzmarke anzugeben. Ich finde keine Funktion dafür in Word oder LibreOffice. Ich brauche wohl ein Makro.

Ich habe hier gesehen Ein Makro, das Kommentare in Fußnoten konvertiert. Es sind nur zehn Zeilen . Ich habe eine Nacht lang versucht, einige Makro-Grundlagen zu erlernen und einige vorhandene Makros zu ändern, bin aber kläglich gescheitert.

Antworten:


0

Ein Ausgangspunkt:

Sub bootNoteIntoBody()
Dim bScreenUpdating As Boolean
Dim oDoc As Document
Dim oNote As Footnote
Dim rng As Range
Dim strStyleName As String

bScreenUpdating = Application.ScreenUpdating
On Error GoTo finish
Application.ScreenUpdating = False
Set oDoc = ActiveDocument
For Each oNote In ActiveDocument.Footnotes
  ' choose your own maximum length
  If Len(oNote.Range.Text) < 20 Then
    Set rng = oNote.Reference
    With rng
      strStyleName = .Style
      .Text = "[" & cleanup(oNote.Range.Text) & "]"
      .Style = strStyleName
    End With
  End If
Next

finish:
Application.ScreenUpdating = bScreenUpdating

End Sub

Function cleanup(s As String) As String
' replace certain characters by space.
Dim i As Integer
Dim r As String
r = ""
For i = 1 To Len(s)
  Select Case AscW(Mid(s, i, 1))
    Case 1 To 31 ' and perhaps others
      r = r & " "
    Case Else
      r = r & Mid(s, i, 1)
  End Select
Next
cleanup = r
End Function
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.