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: 0 online  |  0 heute  |  0 diesen Monat  |  2215549 insgesamt | Seitenaufrufe: 42   Letzte Änderung: 24.06.2006 © 2001-18 Christian Freßdorf
  Sage nicht alles, was Du weißt, aber wisse immer, was Du sagst.
Matthias Claudius
 powered by phpCMS and PAX