Tipps für die Vereinfachung von Schreibweisen

<< Click to Display Table of Contents >>

Tipps für die Vereinfachung von Schreibweisen

Wenn Sie sich nun langsam wundern, ob wirklich so viel Tipparbeit nötig ist, um ein einzelnes Dokument anzusprechen, können wir Sie beruhigen: ist es nicht! Es gibt diverse Abkürzungen, die Ihnen viel Zeit ersparen.

Verwenden der With-Anweisung

Die erste Abkürzung ist, dass Sie zum Zugriff auf mehrere Eigenschaften eines Objekts die With-Anweisung verwenden können.

Zunächst die herkömmliche Schreibweise:

tm.Application.Left = 100

tm.Application.Top = 50

tm.Application.Width = 500

tm.Application.Height = 300

tm.Application.Options.CreateBackup = True

MsgBox tm.Application.ActiveDocument.Name

Dieser Code sieht bei Verwendung der With-Anweisung wesentlich übersichtlicher aus:

With tm.Application

 .Left = 100

 .Top = 50

 .Width = 500

 .Height = 300

 .Options.CreateBackup = True

 MsgBox .ActiveDocument.Name

End With

Objektvariablen einrichten

Die nächste Arbeitsvereinfachung ist, dass Sie sich eigene Objektvariablen für den schnellen Zugriff einrichten können. Vergleichen Sie folgende Anweisungen:

Umständlich:

Sub Kompliziert

 Dim tm As Object

 Set tm = CreateObject("TextMaker.Application")

 tm.Application.Visible = True ' TextMaker sichtbar machen

 tm.Application.Documents.Add ' Dokument hinzufügen

 tm.Application.ActiveDocument.Left = 100

 tm.Application.ActiveDocument.Top = 50

 tm.Application.ActiveDocument.Width = 222

 tm.Application.ActiveDocument.Height = 80

End Sub

Einfacher:

Sub Besser

 Dim tm As Object

 Dim NeuesDokument As Object

 Set tm = CreateObject("TextMaker.Application")

 tm.Application.Visible = True ' TextMaker sichtbar machen

 Set NeuesDokument = tm.Application.Documents.Add ' Dokument hinzufügen

 NeuesDokument.Left = 100

 NeuesDokument.Top = 50

 NeuesDokument.Width = 222

 NeuesDokument.Height = 80

End Sub

Nachdem Sie im unteren Beispiel in der Objektvariablen "NeuesDokument" eine Referenz auf das Dokument angelegt haben (die von der Add-Methode der Sammlung Documents praktischerweise zurückgegeben wird), können Sie über diese Objektvariable viel handlicher auf das neue Dokument zugreifen.

Zeit sparen durch Weglassen von Standardeigenschaften

Es geht in vielen Fällen noch einfacher: Jedes Objekt (zum Beispiel Application oder Application.Documents) besitzt unter seinen Eigenschaften jeweils eine Eigenschaft, die als Standardeigenschaft markiert ist. Das Praktische daran ist, dass Sie sich dadurch nochmals Tipparbeit ersparen können, denn die Standardeigenschaft kann einfach weglassen werden.

Die Standardeigenschaft von Application ist beispielsweise Name. Folgende beiden Befehle sind daher gleichbedeutend:

MsgBox tm.Application.Name     ' gibt den Namen von TextMaker aus

MsgBox tm.Application          ' tut dasselbe

Typischerweise ist die am häufigsten benötigte Eigenschaft eines Objekts als Standardeigenschaft markiert. So ist sicherlich die am häufigsten benötigte Eigenschaft einer Sammlung die Item-Eigenschaft. Denn im Allgemeinen will man ja auf ein oder mehrere bestimmte Elemente einer Sammlung zugreifen. Folgende Anweisungen sind daher wieder gleichbedeutend:

MsgBox tm.Application.Documents.Item(1).Name

MsgBox tm.Application.Documents(1).Name

So wird das Ganze doch langsam übersichtlicher! Es kommt aber noch besser: Name ist die Standardeigenschaft eines einzelnen Document-Objekts (aufgepasst: "Document", nicht "Documents"!). Jedes Item der Documents-Sammlung ist vom Typ Document. Da also Name die Standardeigenschaft ist, können Sie Name wieder weglassen:

MsgBox tm.Application.Documents(1)

Immer noch nicht einfach genug? Also... Application ist die Standardeigenschaft von TextMaker an sich. Lassen wir Application also einfach weg! Das sieht dann so aus:

MsgBox tm.Documents(1)

Mit diesem Grundwissen sind Sie nun gerüstet, um die Objektstruktur von TextMaker zu verstehen und können sich dem Abschnitt Objektstruktur von TextMaker widmen, der eine detaillierte Liste aller von TextMaker bereitgestellten Objekte enthält.