2
www.ChF-Online.de  

Kommentare (I): Informationen anzeigen

   Neuigkeiten
   API-Aufrufe in VBA
   VBA2HTML
   Word
   Word-VBA
aktiv aktiv Verschiedenes
 Dateiname ohne Endung
 Dokumentstrukturanzeige
 Fenster anordnen
 Fensterliste
 Fensterliste (II)
 Kalender erstellen
aktiv  Kommentarinformationen
 Lesezeichen
 Beliebigen Ordner öffnen
 Position der Einfügemarke
 Seitenanfang/-ende
 Shapes ansprechen
 Sicherheitskopien erstellen
 Word-Startparameter
 Word-Startparameter II
 Startordner "Bild einfügen"
 Tags finden u. bearbeiten
 Tags finden/bearbeiten (II)
 Text2WordArt
 Textbausteine verwenden
 Textmarken (I)
 Textmarken (II)
 Überschrift zu Textmarke
 VBA-Konverter
 Wasserzeichen
 Zeichen tauschen
 Feld-Arbeiten
 Form-Sachen
 Menü-/Symbolleisten
 VBA und Lotus Notes
 VBA und Mail
 Inside VBAIDE
 Von Word nach Outlook
 Fix-und-Fertiges/Projekte
   Word2007 (RibbonX)
   Word2010 (RibbonX)
   Outlook-VBA
   Links zu VB(A)
   DocToHelp
   Netport Express XL
   Astronomie
   Gästebuch
   Volltextsuche
   Sitemap
   Buch:Word-Programmierung
   Impressum & Kontakt
   Datenschutzerklärung
Getestet unter Word2000Getestet unter WordXP  
Beispiel anzeigen
Makro/Datei speichern
Print

Fügt man in ein Dokument einen Kommentar ein, wird dieser folgendermaßen als verborgener Text in den Text eingefügt:

Text[Initialien+LaufNr]

Anschließend kann man den Kommentar in dem Kommentarbereich eingeben.

Über die Eigenschaften des Comment-Objektes lassen sich der Autor, die Initialen, sowie der Kommentartext eines Kommentares auslesen.
Die Seiteninformation kann über die Information-Eigenschaft des Kommentarbereiches ermittelt werden.

Sub InfoOfComment()  
Dim oDoc As Document 
Dim msg As String, ret As Integer 
Set oDoc = ActiveDocument
Dim strComment As Comment
For Each strComment In oDoc.Comments
  With strComment
    msg = "Aktueller Kommentar: [" & .Initial & .Index & "]" _
      & vbCrLf & "Von:" & vbTab & .Author _
      & vbCrLf & "Text:" & vbTab & .Range.Text _
      & vbCrLf & "Kapitel:" & vbTab & fkt_GetCommentHeading(strComment) _
      & vbCrLf & "Seite:" & vbTab & .Scope.Information(wdActiveEndPageNumber) 
    ret = MsgBox(msg & vbCrLf & vbCrLf & "Nächster Kommentar?", vbInformation + vbYesNo, "Kommentar-Infos") 
    If ret = vbNo Then Exit For 
  End With 
Next 
End Sub 

Um zusätzlich die Kapitelüberschrift des Kapitels zu ermitteln, in dem der Kommentar eingefügt wurde, kann man eine Besonderheit der Textmarken verwenden:
über die vordefinierte Textmarke \HeadingLevel erhält man Informationen über die Überschrift, die die Markierung (hier den Kommentar) enthält.

Diese Information wird in der Funktion fkt_GetCommentHeading ermittelt. Dabei wird überprüft, ob eine Überschriftennummerierung verwendet wird und diese ggf. mitermittelt.
Als Rückgabewert liefert die Funktion dann den Überschriftentext und ggf. die Nummerierung.

Function fkt_GetCommentHeading(ByRef myCom As Comment) As String  
Dim mysty As Style
Dim rng As Range 
Dim strHeading As String 
With myCom
  .Scope.Select
  Set rng = .Range.Parent.Bookmarks("\HeadingLevel").Range
  strHeading = Left(rng.Paragraphs(1).Range.Text, Len(rng.Paragraphs(1).Range.Text) - 1) 
  If rng.Paragraphs(1).Range.ListFormat.ListType = wdListNoNumbering Then 
    fkt_GetCommentHeading = strHeading & " (Ebene " & _
      rng.Paragraphs(1).OutlineLevel & ")"
  Else 
    fkt_GetCommentHeading = rng.ListFormat.ListString & " " & strHeading & " (Ebene " & _
      rng.Paragraphs(1).OutlineLevel & ")"
  End If 
End With 
End Function 

 Besucher: 1 online  |  1 heute  |  553 diesen Monat  |  425798 insgesamt | Seitenaufrufe: 65   Letzte Änderung: 24.06.2006 © 2001-14 Christian Freßdorf
  Ich würde lieber angegriffen werden als ignoriert. Das schlimmste, was einem Autor passieren kann, ist, daß die anderen zu seinen Arbeiten schweigen.
Samuel Johnson
 powered by phpCMS and PAX