Mario  Meir-HuberOffice Developer: Word Range, Sentences und Words


Eine der grundlegenden Eigenschaften von Word in der VSTO Entwicklung ist die Unterteilung in Ranges, Sentences und Words. Während diese Unterteilung für Sentences und Words bereits selbsterklärend ist, so ist die Range nicht auf dieses Begrenzt. Eine Range hat - ähnlich wie in Excel - einen Bereich, in welchen interagiert werden kann. Dies kann sich nun Beispielsweise auf mehrere Wörter oder auch Sätze erstrecken. Will man nun einzelne Sätze oder Wörter ausgeben, so liefert die Sentences und Words-Auflistung auch jeweils wieder ein Range Objekt. Wenn man über die Sätze auf einzelne Wörter zugreift, so ist dies auch wiederum ein Range Objekt. Wörter bestehen übrigens aus Chars, welche auch wieder ein Range Objekt sind.

Will man nun alle Sätze und Wörter durchiterieren, so könnte dies folgendermaßen aussehen (C#):

private void ThisDocument_Startup(object sender, System.EventArgs e)
{
    foreach (Word.Range r in Application.ActiveDocument.Sentences)
    {
        MessageBox.Show(r.Text);

        Debug.WriteLine("###################################");

        foreach (Word.Range r2 in r.Words)
        {
            Debug.WriteLine(r2.Text);

            //Auch noch in Chars möglich!!!
       
}
    }
}

 

oder so (VB)

Private Sub Word()
    For Each s As Word.Range In Application.ActiveDocument.Sentences
        'Sentences -> words -> Characters
        MessageBox.Show(s.Text)
    Next
End Sub


Kategorien: 22.06.2008 16:53:57


 


Neuen Kommentar einfügen:

  Titel:     
  Name:  
  E-Mail:
  Kommentar:

 
 
 


Kommentare


tester, am 08.08.2008 13:12:17

test

t e s t

Mario, am 07.08.2008 09:59:38

Herr

test



© Copyright 2008 ppedv AG