Hallo zusammen,
ich möchte gerne Word Kommentare aus einem Dokument in ein neues Word Dokument exportieren.
Was funktioniert:
-
Erstellen eines neuen Dokumentes in Querformat
-
Erstellen einer Tabelle mit Spalten
-
Export "Seite" vom Kommentar in die Tabelle
-
Export "kommentierter Text" des Kommentars in die Tabelle
-
Export "Kommentar" also das eigentliche Kommentar an sich in die Tabelle
-
Export "Autor" von dem Kommentar in die Tabelle
-
Export "Datum" von dem Kommentar in die Tabelle
Was fehlt:
-
Export von der Kapitelüberschrift zu dem dazugehörigen Kommentar
-
Export von der Kapitelnummerierung zu dem dazugehörigen Kommentar
Das VBA Code ist nicht komplett selber erstellt. Leider komme ich aber nicht weiter und hoffe auf Unterstützung.
Danke und Gruß
Marcel
Sub kommentare_auslesen()
Dim oDoc As Document
Dim oNewDoc As Document
Dim oTable As Table
Dim nCount As Long
Dim n As Long
Dim Title As String
Title = "Kommentare in ein neues Dokument exportieren"
Set oDoc = ActiveDocument
nCount = ActiveDocument.Comments.Count
If nCount = 0 Then
MsgBox "The active document contains no comments.", vbOKOnly, Title
GoTo ExitHere
Else
'Stoppen wenn der Benutzer auf Nein klickt
If MsgBox("Alle Kommentare in ein neues Dokument exportieren?", _
vbYesNo + vbQuestion, Title) <> vbYes Then
GoTo ExitHere
End If
End If
Application.ScreenUpdating = False
'Neues Dokument erstellen
Set oNewDoc = Documents.Add
'Auf Querformat einstellen
oNewDoc.PageSetup.Orientation = wdOrientLandscape
'Tabelle mit 6 Spalten einfügen
With oNewDoc
.Content = ""
Set oTable = .Tables.Add _
(Range:=Selection.Range, _
NumRows:=nCount + 1, _
NumColumns:=7)
End With
'Tabellenformat
With oTable
.Range.Style = wdStyleNormal
.AllowAutoFit = False
.PreferredWidthType = wdPreferredWidthPercent
.PreferredWidth = 100
.Columns.PreferredWidthType = wdPreferredWidthPercent
.Columns(1).PreferredWidth = 5
.Columns(2).PreferredWidth = 23
.Columns(3).PreferredWidth = 26
.Columns(4).PreferredWidth = 10
.Columns(5).PreferredWidth = 12
.Columns(6).PreferredWidth = 12
.Columns(7).PreferredWidth = 12
.Rows(1).HeadingFormat = True
End With
'Einfügen der Kapitelüberschriften
With oTable.Rows(1)
.Range.Font.Bold = True
.Cells(1).Range.Text = "Seite"
.Cells(2).Range.Text = "Kommentierter Text"
.Cells(3).Range.Text = "Kommentar"
.Cells(4).Range.Text = "Author"
.Cells(5).Range.Text = "Datum"
.Cells(6).Range.Text = "Kapitel"
.Cells(7).Range.Text = "Überschrift"
End With
'Get info from each comment from oDoc and insert in table
For n = 1 To nCount
With oTable.Rows(n + 1)
'Seiten Nummer
.Cells(1).Range.Text = _
oDoc.Comments(n).Scope.Information(wdActiveEndPageNumber)
'Kommentierter Text
.Cells(2).Range.Text = oDoc.Comments(n).Scope
'Das eigentliche Kommentar
.Cells(3).Range.Text = oDoc.Comments(n).Range.Text
'Kommentar Author
.Cells(4).Range.Text = oDoc.Comments(n).author
'Kommentar Datum
.Cells(5).Range.Text = Format(oDoc.Comments(n).Date, "dd.MM.yyyy")
'Kommentar Kapitel
'.Cells (6)
'Kommentar Überschrift
'.Cells (7)
End With
Next n
Application.ScreenUpdating = True
Application.ScreenRefresh
oNewDoc.Activate
MsgBox nCount & " Kommentare gefunden. Neues Kommentar Export Dokument wurde erstellt.", vbOKOnly, Title
ExitHere:
Set oDoc = Nothing
Set oNewDoc = Nothing
Set oTable = Nothing
End Sub
|