Computer & Technik
Standard-Software
Variable in MS-Word Makros
Zu einer höheren Sprache gehören auf jeden Fall auch Variable zur Aufnahme von veränderbaren Daten. WORD für DOS kann bis zu 64 verschiedene Variable in einem Makro verwalten. Diesen Variablen können Sie sowohl direkt Werte zuweisen, als auch indirekt über Abfragen.
Abfrage
Die Abfrage von Werten erfolgt über die Anweisung ABFRAGE, die Sie optional um eine Eingabeaufforderung erweitern können:
Zuweisung
Die Zuweisung von Werten erfolgt über die Anweisung BESTIMMEN.
Die Zuweisungswerte können auch aus Berechnungen, Verknüpfungen oder WORD-Funktionen bestehen.
Der Typ von Variable wird von WORD bei der ersten Wertzuweisung festgelegt. Es ist also nicht nötig, explizit eine Typendefinition vorzunehmen, wie dies bespielsweise in C oder PASCAL der Fall ist.
Bei der Vergabe von Namen für Variable haben Sie grundsätzlich die Freiheit, aussagekräftige Bezeichner zu wählen. Sie müssen aber beachten, daß es in WORD einige vordefinierte Variable gibt, die in Ihren Programmen frei verwendet werden können. Taucht der Name einer reservierten Variable im Makro auf, geht WORD davon aus, daß die vordefinierte Variable gemeint ist.
Ausschnitt
Ausschnitt (Datentyp: Zahl)
Diese Variable können Sie verwenden, um zu einem bestimmten Ausschnitt zu gelangen. Wenn die Zahl größer ist als die Anzahl der geöffneten Ausschnitte, geht WORD zu dem Ausschnitt, der die größte Nummer aufweist.
Echo
Echo (Datentyp: Textfolge)
Mit Hilfe dieser Variable bestimmen Sie, ob der Bildschirm während der Ausführung des Makros aktualisiert werden soll. Um bestmögliche Ausführungsgeschwindigkeit zu erreichen, sollte die Option ausgeschaltet werden. Dies geschieht über:
Eingabemodus
Eingabemodus (Datentyp: Textfolge)
Bei manchen Befehlen fordert WORD den Benutzer auf, Eingaben zu machen. Dies ist zum Beispiel der Fall beim Befehl zum Laden und Speichern von Dateien, wo der Name der betroffenen Datei einzugeben ist.
Wenn Sie ein Makro schreiben, daß eine solche Eingabeaufforderung generiert, müssen Sie darauf achten, daß auch eine Eingabe erfolgt. WORD bietet Ihnen dazu drei Möglichkeiten an:
· Eingabemodus = "Benutzer"
· Eingabemodus = "Makro"
· Eingabemodus = "abschalten"
Interessant ist die dritte Möglichkeit, die Eingabeaufforderungen unterbindet. WORD führt den Befehl zwar aus, ignoriert aber alle eventuell angezeigten Eingabeaufforderungen. Dies ist natürlich selten sinnvoll, so daß Sie darauf achten sollten, die Eingabekontrolle exakt zu definieren. Alle konstanten Eingaben sollten im Makro fest verankert sein, so daß der Benutzer nicht eingreifen muß. Nur dadurch läßt sich ein hoher Grad an Automatisierung erreichen. Denn was nutzt ein Makro, das eine Stunde arbeitet, aber alle fünf Minuten eine Eingabe verlangt!
Feld
Feld (Datentyp: beliebig)
Die Feldvariable bezieht sich immer auf das gegenwärtig aktive Befehlsfeld. Das heißt, Sie können auf ein Feld nur dann zugreifen, wenn Sie sich gerade in einer Dialogmaske befinden.
Die Variable Feld enthält immer den Wert, der in der aktuellen Eingabemaske steht.
Ein häufig auftauchendes Problem im Umgang mit Laserdruckern ist das Austauschen der Papiergröße, wenn von Hoch- auf Querformat gewechselt wird bzw. umgekehrt. Das folgende Makro verwendet die Variable Feld, um diesen Austausch automatisch durchzuführen:
<Unt>fbs<Tab 4>
<Tab>
<Umschalten Tab>
<return>
Wie arbeitet das Makro? In einem ersten Schritt wird in das Untermenü Format/Bereich/Seitenrand gewechselt und dort viermal <Tab> eingegeben. Wie Sie sich leicht überzeugen können, steht der Cursor jetzt auf der Eingabemaske für Seitenlänge. Der aktuelle Wert wird nach lang kopiert. Danach erfolgt ein Tabulatorsprung auf das nächste Eingabefeld, dessen Wert nach breit kopiert wird. Jetzt schreibt das Makro den Wert von lang in das Feld Seitenbreite, geht ein Feld zurück und schreibt die breite in das Feld von Seitenlänge.
Gefunden, Nichtgefunden
Gefunden, Nichtgefunden (Datentyp: Wahrheitswert)
Diese wichtigen Variable können in AWENN- und SOLANGE-Anweisungen verwendet werden. Beide Variable enthalten immer das Resultat des letzten Suchvorgangs.
Markierung
Markierung (Datentyp: beliebig)
Markierung bezieht sich immer auf den Inhalt des gegenwärtig markierten Textabschnitts. Ein solcher exisitiert immer, solange sie sich nicht gerade auf der Endmarke befinden. In diesem Fall wäre Markierung="". Ansonsten ist zumindest das Zeichen unter dem Cursor markiert.
Sinnvoll einsetzen läßt sich die Variable Markierung vor allem in AWENN- und SOLANGE-Anweisungen. Aber auch die Übernahme von markierten Textstellen in eine Variable ist möglich. Denkbar ist auch die Abfrage, ob die Markierung überhaupt einen berechenbaren Ausdruck darstellt, bevor die Berechnung zu Verknüpfung mit anderen Variablen erfolgt.
Papierkorb
Papierkorb (Datentyp: beliebig)
Diese Variable ist mit dem Papierkorb von WORD verbunden. Das heißt, der jeweils zuletzt gelöschte Text ist im Papierkorb gespeichert. Über <Einf> haben Sie zwar ohnehin Zugriff auf den Papierkorb, aber mit Hilfe der Variable wird es möglich, diese Texte einer anderen Variablen zuzuweisen oder sonstwie zu bearbeiten.