Tipps und Tricks rund um Word
Liste der Änderungen als Tabelle
Die Liste aller Änderungen lässt sich in Word mit der Markupliste ausdrucken, aber nicht speichern. Zur Dokumentation ist das nur bedingt geeignet.
Flexibler sind Sie mit dem folgenden Makro, das Ihnen eine Wordtabelle mit allen Änderungen erzeugt.
|
Sie sehen Datum und Uhrzeit der Änderung, den Namen des Bearbeiters, was er gemacht und auf welcher Seite und in welcher Zeile die Änderung vorgenommen wurde. Die Liste sortiert die Änderungen anhand der Seitenzahl, kann aber auch sortiert werden nach Datum oder Autor oder Typ. Wenn Sie die Liste nach Excel kopieren, können Sie dort auch filtern - beispielsweise nach allen Änderungen eines bestimmten Datums.
Was das Makro nicht kann, ist das Ausgeben aller geänderten Textstellen. Sie sehen also nur die Tatsache "Löschung", aber nicht den gelöschten Text!
Den Makrotext können Sie sich oben herunterladen. Ich habe eine Datei mit der Endung BAS erstellt, die Sie direkt in Word importieren können. Um die Datei zu importieren, müssen Sie zuerst das Regiser "Entwicklertools" über "Datei / Optionen / Menüband anpassen" einblenden. Klicken Sie dann auf die linke Schaltfläche "Visual Basic", um den VBA-Editor zu starten.
In die Normal.dotm importieren Sie die BAS-Datei dann so:
|
![]() |
Aufrufen können Sie das Makro später mit "Entwicklertools / Makros" - das Makro heißt "ListeAenderung". Öffnen Sie zuerst das Dokument, in dem die Änderungen vorhanden sind. Markieren Sie dann das Makro und wählen Sie "Ausführen". Word erzeugt eine neue Datei mit der Tabelle.
Und das ist der Makrocode zum Anschauen:
Sub ListeAenderung()
'Pia Bork, August 2013
'http://www.borkpc.de
'zeigt die Liste aller Änderungen eines Dokumentes als Tabelle
Dim quellDoc As Document
Dim newDoc As Document
Dim xtab As Table
Dim xrows As Long
Dim RevType As Variant
RevType = Array("Keine Änderung", "Einfügung", "Löschung", _
"Format Zeichen", "Änderung Absatznummer", "Änderung Feldanzeige", _
"Gelöster Konflikt", "Konflikt", "Änderung Formatvorlage", "Ersetzt", _
"Format Absatz", "Format Tabelle", _
"Format Abschnitt", "Änderung Formatvorlagendefinition", _
"Verschoben von", "Verschoben nach", "Tabellenzellen eingefügt", _
"Tabellenzellen gelöscht", "Tabellenzellen zusammengefügt")
Set quellDoc = ActiveDocument
Set newDoc = Documents.Add
Set xtab = newDoc.Tables.Add(Selection.Range, 1, 5)
xrows = 1
With xtab
.Cell(1, 1).Range.Text = "Datum"
.Cell(1, 2).Range.Text = "Uhrzeit"
.Cell(1, 3).Range.Text = "Autor"
.Cell(1, 4).Range.Text = "Typ"
.Cell(1, 5).Range.Text = "Seite, Zeile"
For Each Revision In quellDoc.Revisions
.Rows.Add
xrows = xrows + 1
.Cell(xrows, 1).Range.Text = Left(Revision.Date, 10)
.Cell(xrows, 2).Range.Text = Right(Revision.Date, 8)
.Cell(xrows, 3).Range.Text = Revision.Author
.Cell(xrows, 4).Range.Text = RevType(Revision.Type)
.Cell(xrows, 5).Range.Text = _
Revision.Range.Information(wdActiveEndAdjustedPageNumber) & ", " & _
Revision.Range.Information(wdFirstCharacterLineNumber)
Next Revision
End With
With Selection.Tables(1)
.Style = "Helle Liste - Akzent 1"
.AutoFitBehavior wdAutoFitContent
.Rows(1).HeadingFormat = wdToggle
End With>
End Sub
31.08.2013