Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Visual Basic enthält Objekte, mit denen Sie die folgenden Dokumentelemente ändern können: Zeichen, Wörter, Sätze, Absätze und Abschnitte. Die folgende Tabelle enthält die Eigenschaften, die diesen Dokumentelementen entsprechen, und die Objekte, die sie zurückgeben.
Ausdruck | Zurückgegebenes Objekt |
---|---|
Wörter ( Index) | Range |
Zeichen ( Index) | Range |
Sätze ( Index) | Range |
Absätze ( Index) | Paragraph |
Abschnitte ( Index) | Abschnitt |
Wenn diese Eigenschaften ohne Index verwendet werden, wird ein Auflistungsobjekt mit demselben Namen zurückgegeben. Beispielsweise gibt die Paragraphs-Eigenschaft das Paragraphs-Auflistungsobjekt zurück. Wenn Sie aber ein Element innerhalb dieser Auflistungen durch den Index kennzeichnen, wird das Objekt in der zweiten Spalte der Tabelle zurückgegeben. Gibt beispielsweise Words(1)
ein Range-Objekt zurück. Nachdem Sie ein Range-Objekt haben, können Sie jede der Bereichs-Eigenschaften oder -Methoden zum Ändern des Range-Objekts verwenden. Die folgende Anweisung kopiert z. B. das erste Wort in der Markierung in die Zwischenablage.
Sub CopyWord()
Selection.Words(1).Copy
End Sub
Hinweis Die Elemente in den Paragraphs- und Sections-Auflistungen sind einzelne Formen der Auflistung, insbesondere Paragraph-Objekte und Section-Objekte und nicht Range-Objekte . Tatsächlich verfügen die meisten Auflistungen im Word-Objektmodell über singuläre Formobjekte, mit denen Sie arbeiten können. Die Range-Eigenschaft (die ein Range-Objekt zurückgibt) ist jedoch sowohl für das Paragraph-Objekt und das Section-Objekt als auch für die meisten anderen Objekte verfügbar, die untergeordnete Elemente von Auflistungen sind. Die folgende Anweisung kopiert z. B. den ersten Absatz im aktiven Dokument in die Zwischenablage.
Sub CopyParagraph()
ActiveDocument.Paragraphs(1).Range.Copy
End Sub
Alle Dokumentelement-Eigenschaften in der vorherigen Tabelle stehen den Document-, Selection- und Range-Objekten zur Verfügung. Die folgenden Beispiele veranschaulichen, wie Sie einen Drilldown zu diesen Eigenschaften von Document-, Selection- und Range-Objekten ausführen können. Im folgenden Beispiel wird die Groß-/Kleinschreibung des ersten Worts im aktiven Dokument festgelegt.
Sub ChangeCase()
ActiveDocument.Words(1).Case = wdUpperCase
End Sub
Im folgenden Beispiel wird der untere Seitenrand des aktuellen Abschnitts auf 0,5 Zoll festgelegt.
Sub ChangeSectionMargin()
Selection.Sections(1).PageSetup.BottomMargin = InchesToPoints(0.5)
End Sub
Im folgenden Beispiel wird der Text im aktiven Dokument doppelt leert (die Content-Eigenschaft gibt ein Range-Objekt zurück).
Sub DoubleSpaceDocument()
ActiveDocument.Content.ParagraphFormat.Space2
End Sub
Verändern einer Gruppe von Dokumentelementen
Zum Ändern eines Textbereichs, der aus einer Gruppe von Dokumentelementen (Zeichen, Wörtern, Sätzen, Absätzen oder Abschnitten) besteht, müssen Sie ein Range-Objekt erstellen. Die Range-Methode erstellt ein Range-Objekt, wenn ein Start- und Endpunkt vorgegeben ist. Die folgende Anweisung erstellt beispielsweise ein Range-Objekt, das sich auf die ersten zehn Zeichen im aktiven Dokument bezieht.
Sub SetRangeForFirstTenCharacters()
Dim rngTenCharacters As Range
Set rngTenCharacters = ActiveDocument.Range(Start:=0, End:=10)
End Sub
Mithilfe der Start - und End-Eigenschaften mit einem Range-Objekt können Sie ein neues Range-Objekt erstellen, das auf eine Gruppe von Dokumentelementen verweist. Mit der folgenden Anweisung wird beispielsweise ein Range-Objekt ( rngThreeWords
) erstellt, das auf die ersten drei Wörter im aktiven Dokument verweist.
Sub SetRangeForFirstThreeWords()
Dim docActive As Document
Dim rngThreeWords As Range
Set docActive = ActiveDocument
Set rngThreeWords = docActive.Range(Start:=docActive.Words(1).Start, _
End:=docActive.Words(3).End)
End Sub
Im folgenden Beispiel wird ein Range-Objekt ( rngParagraphs
) erstellt, das am Anfang des zweiten Absatzes beginnt und nach dem dritten Absatz endet.
Sub SetParagraphRange()
Dim docActive As Document
Dim rngParagraphs As Range
Set docActive = ActiveDocument
Set rngParagraphs = docActive.Range(Start:=docActive.Paragraphs(2).Range.Start, _
End:=docActive.Paragraphs(3).Range.End)
End Sub
Weitere Informationen zum Definieren von Range-Objekten finden Sie unter Arbeiten mit Range-Objekten.
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.