Freigeben über


Konzeptuelle Unterschiede zwischen WordBasic und Visual Basic

Der Hauptunterschied zwischen Visual Basic for Applications (VBA) und WordBasic besteht darin, dass Visual Basic, während die WordBasic-Sprache aus einer flachen Liste von etwa 900 Befehlen besteht, aus einer Hierarchie von Objekten besteht, von denen jedes einen bestimmten Satz von Methoden und Eigenschaften verfügbar macht (ähnlich wie Anweisungen und Funktionen in WordBasic). Während die meisten der WordBasic-Befehle jederzeit ausgeführt werden können, stellt Visual Basic zu einem bestimmten Zeitpunkt nur die Methoden und Eigenschaften der verfügbaren Objekte bereit.

Objekte sind die grundlegenden Bausteine von Visual Basic. Fast alles, was Sie in Visual Basic tun, umfasst das Ändern von Objekten. Jedes Word-Element , z. B. Dokumente, Absätze, Felder und Lesezeichen, kann durch ein Objekt in Visual Basic dargestellt werden. Im Gegensatz zu Befehlen in einer flachen Liste gibt es Objekte, auf die nur von anderen Objekten aus zugegriffen werden kann. Auf das Font-Objekt kann beispielsweise von verschiedenen Objekten aus zugegriffen werden, einschließlich der Objekte Style, Selection und Find .

Die Programmieraufgabe, Fettformatierung zuzuweisen, demonstriert die Unterschiede zwischen den zwei Programmiersprachen. Die folgende WordBasic-Anweisung weist der Markierung Fettformatierung zu.

Bold 1

Das folgende Beispiel ist das Visual Basic-Äquivalent zum Auszeichnen der Markierung mit dem Attribut "fett".

Selection.Font.Bold = True

Visual Basic verfügt über keine Bold-Anweisung oder -Funktion. Stattdessen gibt es eine Bold-Eigenschaft . (Eine Eigenschaft ist in der Regel ein Attribut eines Objekts, z. B. seine Größe, seine Farbe oder ob sie fett formatiert ist.) Bold ist eine Eigenschaft des Font-Objekts . Ebenso ist Font eine Eigenschaft des Selection-Objekts , das ein Font-Objekt zurückgibt. Wenn Sie die Objekthierarchie beachten, können Sie die Anweisung schreiben, die der Markierung Fettformatierung zuweist. Die Bold-Eigenschaft ist eine boolesche Eigenschaft mit Lese-/Schreibzugriff. Dies bedeutet, dass die Bold-Eigenschaft auf True oder False (ein oder aus) festgelegt werden kann, oder der aktuelle Wert kann zurückgegeben werden. Die folgende WordBasic-Anweisung gibt einen Wert zurück, der angibt, ob fett formatiert auf die Auswahl angewendet wird.

x = Bold()

Das folgende Beispiel ist das Visual Basic-Äquivalent für die Zurückgabe des Fettformatierungsstatus der Markierung.

x = Selection.Font.Bold

Die prinzipielle Arbeitsweise in Visual Basic

Um eine Aufgabe in Visual Basic auszuführen, müssen Sie das entsprechende Objekt bestimmen. Wenn Sie beispielsweise zeichenformatieren möchten, die im Dialogfeld Schriftart gefunden wird, verwenden Sie das Font-Objekt . Anschließend müssen Sie bestimmen, wie Sie einen Drilldown durch die Word-Objekthierarchie vom Application-Objekt zum Font-Objekt durchführen, und zwar durch die Objekte, die das Font-Objekt enthalten, das Sie ändern möchten. Nachdem Sie den Pfad zu Ihrem Objekt (z. B. ) festgelegt haben, verwenden Sie den Objektbrowser, die Hilfe oder die Features wie automatisches Auflisten von Elementen im Visual Basic-Editor, um zu bestimmen, welche Eigenschaften und Methoden auf das Objekt angewendet werden können. Weitere Information zum Durchführen eines Drilldowns zu Objekten mithilfe der Eigenschaften und Methoden finden Sie unter Grundlegendes zu Objekten, Eigenschaften und Methoden.

Eigenschaften und Methoden stehen oft mehreren Objekten in der Word-Objekthierarchie zur Verfügung. Die folgende Anweisung weist beispielsweise dem gesamten Dokument Fettformatierung zu.

ActiveDocument.Content.Bold = True

Darüber hinaus sind Objekte selbst oft an mehreren Stellen in der Objekthierarchie vorhanden.

Die Selection- und Range-Objekte

Die meisten WordBasic-Befehle ändern die Markierung. Beispielsweise weist der Befehl Fett der Markierung Fettformatierung zu. Der Befehl EinfügenFeld fügt an der Einfügemarke ein Feld ein. Wenn Sie mit der Auswahl in Visual Basic arbeiten möchten, verwenden Sie die Selection-Eigenschaft , um das Selection-Objekt zurückzugeben. Die Markierung kann ein Textblock sein oder nur die Einfügemarke.

Im folgenden Visual Basic-Beispiel werden nach der Markierung Text und ein neuer Absatz eingefügt.

Selection.InsertAfter Text:="Hello World" 
Selection.InsertParagraphAfter

Neben dem Arbeiten mit der Markierung können Sie verschiedene Textbereiche in einem Dokument definieren und mit ihnen arbeiten. Ein Range-Objekt verweist auf einen zusammenhängenden Bereich in einem Dokument mit einer Anfangszeichenposition und einer Endzeichenposition. Auf ähnliche Art, wie Textmarken in einem Dokument verwendet werden, werden Range-Objekte in Visual Basic zum Kennzeichnen von Teilen eines Dokuments verwendet. Im Gegensatz zu einem Lesezeichen ist ein Range-Objekt für den Benutzer jedoch unsichtbar, es sei denn, der Bereich wurde mit der Select-Methode ausgewählt. Sie können z. B. Visual Basic verwenden, um an einer beliebigen Stelle im Dokument Fettformatierung zuzuweisen, ohne die Markierung zu ändern. Im folgenden Beispiel wird den ersten 10 Zeichen im aktiven Dokument Fettformatierung zugewiesen.

ActiveDocument.Range(Start:=0, End:=10).Bold = True

Im folgenden Beispiel wird dem ersten Absatz Fettformatierung zugewiesen.

ActiveDocument.Paragraphs(1).Range.Bold = True

In diesen beiden Beispielen wird im aktiven Dokument die Formatierung geändert, ohne die Markierung zu ändern. Weitere Informationen zum Range-Objekt 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.