Selection-Objekt (Word)

Repräsentiert die aktuelle Auswahl in einem Fenster oder Bereich. Bei einer Auswahl handelt es sich entweder um einen ausgewählten (oder hervorgehobenen) Bereich im Dokument oder die Einfügemarke, wenn in dem Dokument nichts ausgewählt ist. Es ist nur ein Objekt Selection pro Dokumentfensterbereich zulässig, und es darf nur ein Objekt Selection in der gesamten Anwendung aktiv sein.

Wichtig

Diese Methode hat sich geändert. Wenn Sie VBA-Auswahlbefehle wie Selection.BoldRun für Benutzerauswahl mit Kommentaren verwenden, wird keine Fettformatierung für vom Benutzer ausgewählten Text oder dem Selection.TypeTxt-Befehl mehr angewendet, oder auf der Benutzerauswahl mit Kommentaren wird kein Text mehr eingefügt.

Bemerkungen

Verwenden Sie die Eigenschaft Selection, um das Objekt Selection zurückzugeben. Wenn mit der Eigenschaft Selection kein Objektqualifizierer verwendet wird, gibt Microsoft Word die Auswahl des aktiven Bereichs im aktiven Dokumentfenster zurück. Im folgenden Beispiel wird die aktuelle Auswahl aus dem aktiven Dokumentfenster kopiert.

Selection.Copy

Im folgenden Beispiel wird die Auswahl aus dem dritten Dokument der Sammlung Documents gelöscht. Das Dokument muss nicht aktiv sein, um auf dessen aktuelle Auswahl zugreifen zu können.

Documents(3).ActiveWindow.Selection.Cut

Im folgenden Beispiel wird die Auswahl aus dem ersten Bereich des aktiven Dokuments kopiert und im zweiten Bereich eingefügt.

ActiveDocument.ActiveWindow.Panes(1).Selection.Copy 
ActiveDocument.ActiveWindow.Panes(2).Selection.Paste

Die Eigenschaft Text ist die Standardeigenschaft des Objekts Selection. Mit dieser Eigenschaft können Sie den Text in der aktuellen Auswahl festlegen oder zurückgeben. Im folgenden Beispiel wird die aktuelle Auswahl der Variablen strTemp zugewiesen und das letzte Zeichen entfernt, sofern es sich dabei um eine Absatzmarke handelt.

Dim strTemp as String 
 
strTemp = Selection.Text 
If Right(strTemp, 1) = vbCr Then _ 
 strTemp = Left(strTemp, Len(strTemp) - 1)

Das Objekt Selection verfügt über diverse Methoden und Eigenschaften, mit denen Sie die aktuelle Auswahl reduzieren, erweitern oder in sonstiger Weise ändern können. Im folgenden Beispiel wird die Einfügemarke an das Ende des Dokuments gesetzt, und die letzten drei Zeilen werden ausgewählt.

Selection.EndOf Unit:=wdStory, Extend:=wdMove 
Selection.HomeKey Unit:=wdLine, Extend:=wdExtend 
Selection.MoveUp Unit:=wdLine, Count:=2, Extend:=wdExtend

Das Objekt Selection verfügt über diverse Methoden und Eigenschaften, mit denen Sie ausgewählten Text in einem Dokument bearbeiten können. Im folgende Beispiel wird den ersten Satz im aktiven Dokument ausgewählt, und durch einen neuen Absatz ersetzt.

Options.ReplaceSelection = True 
ActiveDocument.Sentences(1).Select 
Selection.TypeText "Material below is confidential." 
Selection.TypeParagraph

Im folgenden Beispiel wird der letzte Absatz des ersten Dokuments in der Sammlung Documents gelöscht und am Anfang des zweiten Dokuments eingefügt.

With Documents(1) 
 .Paragraphs.Last.Range.Select 
 .ActiveWindow.Selection.Cut 
End With 
 
With Documents(2).ActiveWindow.Selection 
 .StartOf Unit:=wdStory, Extend:=wdMove 
 .Paste 
End With

Das Objekt Selection verfügt über diverse Methoden und Eigenschaften, mit denen Sie die Formatierung der aktuellen Auswahl ändern können. Im folgende Beispiel wird die Schriftart der aktuellen Auswahl von "Times New Roman" in "Tahoma" geändert.

If Selection.Font.Name = "Times New Roman" Then _ 
 Selection.Font.Name = "Tahoma"

Mit Eigenschaften wie Flags, Information und Type können Sie Informationen über die aktuelle Auswahl zurückgeben. Verwenden Sie das folgende Beispiel in einer Prozedur, um zu bestimmen, ob im aktiven Dokument etwas ausgewählt ist. Wenn dies nicht der Fall ist, wird der Rest der Prozedur übersprungen.

If Selection.Type = wdSelectionIP Then 
 MsgBox Prompt:="You have not selected any text! Exiting procedure..." 
 Exit Sub 
End If

Selbst wenn eine Auswahl zu einer Einfügemarke reduziert wurde, ist sie nicht zwingend leer. Die Eigenschaft Text beispielsweise gibt in diesem Fall dennoch das Zeichen rechts neben der Einfügemarke zurück. Dieses Zeichen erscheint auch in der Sammlung Characters des Objekts Selection. Wenn Sie jedoch Methoden wie Cut oder Copy von einer reduzierten Auswahl aus aufrufen, wird dadurch ein Fehler verursacht.

Der Benutzer kann, z. B. unter Verwendung von ALT-TASTE und Maus, einen Bereich in einem Dokument auswählen, der keinen zusammenhängenden Text darstellt. Da das Verhalten einer solchen Auswahl unvorhersehbar sein kann, sollten Sie in Ihren Code vielleicht einen Schritt aufnehmen, der die Type-Eigenschaft einer Auswahl überprüft, bevor irgendwelche Operationen damit ausgeführt werden (Selection.Type = wdSelectionBlock).

Ebenso können Auswahlen, die Tabellenzellen enthalten, auch zu unvorhersehbaren Verhalten führen. Die Information-Eigenschaft informiert Sie, ob sich eine Auswahl in einer Tabelle befindet (Selection.Information(wdWithinTable) = True). Mit dem folgenden Beispiel wird ermittelt, ob eine Auswahl normal ist (d. h. keine Zeile oder Spalte in einer Tabelle, kein vertikaler Textblock) ist. Sie können damit die aktuelle Auswahl testen, bevor irgendwelche Operationen damit ausgeführt werden.

If Selection.Type <> wdSelectionNormal Then 
 MsgBox Prompt:="Not a valid selection! Exiting procedure..." 
 Exit Sub 
End If

Da Range-Objekte und Selection-Objekte zahlreiche Methoden und Eigenschaften gemeinsam verwenden, sind für das Manipulieren von Dokumenten bevorzugt Range-Objekte zu verwenden, sofern kein Grund besteht, die aktuelle Auswahl physisch zu ändern. Weitere Informationen zu den Objekten Selection und Range finden Sie unter Arbeiten mit dem Objekt "Selection" und Arbeiten mit Range-Objekten.

Methoden

Eigenschaften

Siehe auch

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.