PhraseExpress für macOS - Makrofunktionen

Inhaltsverzeichnis

Einführung

Mit Hilfe von Makrofunktionen lassen sich Textbausteine mit dynamischen Inhalten erweitern, zum Beispiel Inhalte externer Dateien, manuelle Texteingaben oder Zeit- und Datumsstempel.

PhraseExpress kann mit Makrofunktionen Anwendungen starten, Dokumente oder Internetseiten öffnen, Eingabeformulare und Textbausteine automatisiert erstellen, Berechnungen durchführen, häufig benötige Arbeitsschritte oder Tastendrücke automatisieren.

Mit Stringoperationen, Verschachtelung von Textbausteinen, Textvergleichsfunktionen, Schleifenbefehle, Variablen lassen sich komplexe Programmierungen realisieren.

PhraseExpress für macOS unterstützt eine Auswahl der Makrofunktionen der Windowsversion mit angepasster Funktionalität.

Funktionsprinzip

Makrofunktionen sind Platzhalter im Textbaustein, die beim Ausführen durch dynamische Inhalte ersetzt werden, bzw. Aktionen auslösen.

Beispiel:

Heute ist der {#DATE}. Es ist jetzt {#TIME} Uhr.

Beim Einfügen des Textbausteins wertet PhraseExpress die Makrofunktionen der Reihe nach von links nach rechts aus und ersetzt die Makrofunktion {#DATE} mit dem aktuellen Datum und die Makrofunktion {#TIME} mit der aktuellen Uhrzeit:

Heute ist der 10.03.2017. Die aktuelle Uhrzeit ist 12:34.

Makro hinzufügen

Um eine Makrofunktion zu erstellen:
  1. Klicken Sie im Textbausteininhaltsfeld an die Stelle, an der die Makrofunktion eingefügt werden soll.
  2. Wählen Sie im Hauptmenü "Makro" die gewünschte Makrofunktion.
  3. Konfigurieren Sie die Parameter im Makroeingabedialog.

Makro bearbeiten

Um ein bestehendes Makro zu bearbeiten:
  1. Doppel-klicken Sie die Makrofunktion, die Sie bearbeiten möchten.

    Alternativ klicken Sie das Makro mit der rechten Maustaste und wählen Sie "Makro bearbeiten" aus dem Kontextmenü.

    Glückliche Besitzer eines modernen "ForceTouch" Trackpads drücken zur Bearbeitung auf die Makrofunktion mit erhöhtem Druck. Unglückliche Besitzer auch.
  2. Nehmen Sie im Makroeingabedialog die gewünschten Änderungen vor.
  3. Bestätigen Sie die Änderungen mit OK.

Mit einem Doppelklick auf den Autotext einer {#INSERT …} Makrofunktion springt PhraseExpress direkt zum verknüpften Textbaustein.

Verschachtelung

Makrofunktionen lassen sich annähernd beliebig verschachteln.

Beispiel:

Das Ergebnis lautet {#CALC {#INPUT -HEAD Menge?}*{#RND 10}}.

PhraseExpress verarbeitet verschachtelte Makros bis auf wenige Ausnahmen von "innen nach außen".

Im Beispiel sind die Makrofunktionen {#INPUT} und {#RND} im Makro {#CALC} eingebettet und werden daher zuerst verarbeitet:

  1. Zuerst gibt PhraseExpress den statischen Text "Das Ergebnis lautet" aus.
  2. Das {#INPUT} Makro fragt den Anwender nach einer manuellen Eingabe.
  3. Nach Anwendereingabe generiert die Makrofunktion {#RND} eine Zufallszahl.
  4. Erst dann multipliziert die Makrofunktion {#CALC} die Anwendereingabe mit der Zufallszahl, und das Ergebnis wird ausgegeben.
  5. Zuletzt gibt PhraseExpress den Rest des statischen Texts aus.
Beispielausgabe:

Das Ergebnis lautet 25.

Verschachtelte Textbausteine eröffnen nahezu unbegrenzte Möglichkeiten der Text- und Rechnerautomatisierung.

Unser Tipps & Tricks Blog bietet zahlreiche Schritt-für-Schritt Anleitungen zur Inspiration.

So erstellen Sie ein verschachteltes Makro:
  1. Öffnen Sie den Makroeingabedialog eines bereits existierenden Makros.
  2. Klicken Sie mit der rechten Maustaste in ein Parameter-Eingabefeld und wählen Sie aus dem Kontextmenü das gewünschte Makro.
  3. Konfigurieren Sie das verschachtelte Makro.

Makrofunktionen:

Zeit und Datum

Datum-/Zeitstempel

{#DATE} fügt das aktuelle Datum und {#TIME} die aktuelle Tageszeit ein.

Heute ist der {#DATE}. Die aktuelle Uhrzeit ist {#TIME}.

Beim Ausführen des Textbausteins wird der statische Text dem jeweils aktuellen Datum, bzw. aktueller Uhrzeit ausgegeben:

Heute ist der 10.04.2017. Die aktuelle Uhrzeit ist 12:34.

Das Datums-/Zeitformat entspricht dem aktuell in Windows eingestellten Regionalschema.

Datumsformatierung

Die Makrofunktion {#DATETIME -f Format -S Verschiebung} gibt das Datum, bzw. die Zeit in beliebiger Formatierung aus.

Beispiele:
  • Ausgabe des Tages, Monats, der Stunde, Kalenderwoche oder Tag des Jahres.
  • Verschieben des aktuellen Datums auf zukünftige oder vergangene Minuten, Stunden, Tage, Monate oder Jahre. Dies ist nützlich z.B. für Textbausteine, die ein zukünftiges Fälligkeitsdatum beinhalten.
  • Runden der Uhrzeit auf eine Viertelstunde, halbe oder ganze Stunde. Eine aktuelle Uhrzeit von z.B. 12:05 wird mit dieser Option auf 12:00 abgerundet, oder auf 12:15, 12:30 oder 13:00 aufgerundet ausgegeben.
Parameter für die Datum-/Zeitformatierung:
Parameter Bedeutung
d Tag als Zahl ohne führende Null (1-31)
dd Tag als Zahl mit führender Null (01-31)
ddd Wochentag abgekürzt (Son-Sam)
dddd Wochentag ausgeschrieben (Sonntag-Samstag)
ddddd Datum in der Standardeinstellung in Kurzform (17.01.2014)
dddddd Datum in der Standardeinstellung in Langform (Dienstag, 17.01.2014)
m Monat als Zahl ohne führende Null (1-12). Wenn der Bezeichner m unmittelbar hinter dem Bezeichner h oder hh steht, wird anstelle des Monats die Minute angezeigt.
mm Monat als Zahl mit führender Null (01-12). Wenn der Bezeichner mm unmittelbar hinter dem Bezeichner h oder hh steht, wird anstelle des Monats die Minute angezeigt.
mmm Monatsnamen abgekürzt (Jan-Dez)
mmmm Monatsname ausgeschriebenen (Januar-Dezember)
y oder yy Jahr als zweistellige Zahl (00-99)
yyyy Jahr als vierstellige Zahl (0000-9999)
h Stunde ohne führende Null (0-23)
hh Stunde mit führender Null (00-23)
n Minute ohne führende Null (0-59).
nn Minute mit führender Null (00-59)
s Sekunde ohne führende Null (0-59)
ss Sekunde mit führender Null (00-59)
t Uhrzeit im Kurzformat (16:47)
tt Uhrzeit im Langformat (16:47:23)
am/pm Verwendet die 12-Stunden-Zeitanzeige für den vorhergehenden Bezeichner h oder hh und zeigt alle Stunden vor Mittag mit dem String 'am' und alle Stunden nach Mittag mit dem String 'pm' Für den Bezeichner am/pm können Kleinbuchstaben, Großbuchstaben und jede Kombination davon angegeben werden.
a/p Verwendet die 12-Stunden-Zeitanzeige für den vorhergehenden Bezeichner h oder hh und zeigt alle Stunden vor Mittag mit dem Zeichen 'a' und alle Stunden nach Mittag mit dem Zeichen 'p' Für den Bezeichner a/p können Kleinbuchstaben, Großbuchstaben und jede Kombination davon angegeben werden.
Zeitverschiebung

Parameter -S Verschiebung verschiebt das Datum, bzw. die Zeit abweichend von der aktuellen Zeit vor- oder zurück:

Beispiel für Verschiebungen Textausgabe
{#DATETIME} 17.1.2017 10:47
{#DATETIME -S 1d} 18.1.2017 10:47
{#DATETIME -S -2h} 17.1.2017 08:47
{#DATETIME -F mm.yyyy -S 5y} 01.2022
Anzahl der Tage/Wochen des aktuellen Jahres

{#DATETIME -D} gibt die Anzahl der Tage des laufenden Jahres aus.

{#DATETIME -W} gibt die Anzahl der Wochen des laufenden Jahres aus.

Datumsbasierte Berechnungen

Mit Parameter -VALUE kann ein Datum im Format der Windows Regionaleinstellungen übermittelt werden, das die {#DATETIME …} Makrofunktion datums-/zeitverschoben und/oder umformatiert wieder ausgibt.

Dieses Beispiel verschiebt das angegebene Datum um +14 Werktage:

{#DATETIME -VALUE 20.03.2017 -S 14w}

Kalender

{#CALENDAR -HEAD Fenstertitel -F Datumsformat -S Verschiebung -DEF Vorgabewert} öffnet ein Kalenderfenster zur Datumsauswahl, das im definierten Format ausgegeben wird.

Parameter
  • -HEAD definiert den Fenstertitel.
  • -F definiert das Ausgabeformat analog zu {#DATETIME …}.
Beispiel

Kaufdatum: {#CALENDAR -HEAD Wählen Sie das Kaufdatum -F dd.mm.}

Dieses Beispiel öffnet das Datumsauswahlfenster und das vom Anwender ausgewählte Datum wird als Text in der gewünschten Formatierung eingefügt, zum Beispiel "12.10.".

Wenn dieselbe Datumsauswahl an mehreren Stellen innerhalb eines Textbausteins benötigt wird, verwenden Sie einen identischen Fenstertitel für die Kalender-Makros. Die Datumsauswahl wird dann nur einmal abgefragt und anschließend für alle Kalender-Makros mit gleichem Fenstertitel innerhalb des Textbausteins wiederverwendet.

Anwendereingaben

PhraseExpress kann vor, bzw. beim Einfügen eines Textbausteins den Anwender zu einer Dateneingabe auffordern, die entweder in den Textbaustein eingebettet oder von weiteren Makrofunktionen ausgewertet wird.

Texteingabe

{#INPUT} fordert zur manuellen Eingabe auf, die anschließend an die Stelle der Makrofunktion eingefügt wird.

Parameter:
  • -HEAD definiert den Titel des Eingabefensters.
  • -SINGLE reduziert das Eingabefeld auf eine Zeile. Die Texteingabe kann dann mittels ENTER abgeschlossen werden.
  • -DEF befüllt das Eingabefeld mit einem Vorgabetext.
  • -REQUIRED erzwingt eine Eingabe. Bei Angabe von email, text, letters, numbers, url, filepath oder folderpath prüft PhraseExpress die entsprechende Syntax der Anwendereingabe.
Beispiel:

Guten Tag, {#INPUT -HEAD Name -SINGLE -REQUIRED letters}.

Wir haben Ihre Bestellung erhalten.

PhraseExpress gibt zunächst den statischen Teil des Textbausteins "Guten Tag, " aus und fordert anschließend mit einem einzeiligen Eingabefeld zur Texteingabe auf.

Der eingegebene Text wird nach Syntaxprüfung (es dürfen nur Buchstaben enthalten sein) anstelle der Makrofunktion zusammen mit dem restlichen Textbaustein ausgegeben:

Guten Tag, Frank Harris.

Wir haben Ihre Bestellung erhalten.

Wird eine Texteingabe an mehreren Stellen innerhalb eines Textbausteins benötigt, duplizieren Sie das {#INPUT …} Makro und verwenden Sie dabei den identischen Fenstertitel. Die Texteingabe ist dann nur einmal erforderlich und wird an allen Stellen eingesetzt, an denen sich das {#INPUT …} Makro mit dem gleichlautenden Fenstertitel befindet. Alternativ können Sie die Eingabe in eine temporäre Variable speichern.

Formulare

Formulare bündeln mehrere Anwendereingaben vor dem Ausführen eines Textbausteins.

PhraseExpress generiert auf Basis aller Formularmakros automatisch ein Eingabeformular.

Nach Ausfüllen des Formulars ersetzt PhraseExpress die Makro-Platzhalter mit den entsprechenden Eingaben und gibt den Textbaustein aus.

So erzeugen Sie ein Formular:
  1. Bereiten Sie einen Textbaustein mit dem statischen Text-Grundgerüst vor.
  2. Fügen Sie schrittweise Formular-Elemente mit dem Befehl Makro » Formular an die gewünschten Stellen im Textbaustein hinzu.
Beispiel:

Der Kunde heißt: {#FORMEDITBOX -TEXT Ihr Name? -DEF Klaus -SINGLE -REQUIRED}.

Der Kunde ist {#FORMCHECKBOX -TEXT Langzeitkunde? -VALS Langzeitkunde|Neukunde -DEF True}.

Der Kunde verwendet {#FORMCOMBOBOX -TEXT Verwendete Versionsnummer? -items Version 11|Version 12}.

Bei Aufruf dieses Textbausteins fordert ein Eingabeformular zur Dateneingabe auf.

Nach Quittierung mit OK bindet PhraseExpress die Eingaben in den Textbaustein ein und gibt das Ergebnis in die Zielanwendung aus:

Der Kunde heißt Michael.

Der Kunde ist Langezeitkunde.

Der Kunde verwendet Version 11.

Die maximale Länge der Beschriftung für Formular-Elemente beträgt 256 Zeichen. Falls Texte im Formularfenster abgeschnitten werden, vergrößern Sie bitte die Fensterbreite mittels {#FORM …} Makro.

Entgegen der normalen Makroverarbeitung (von innen nach außen), werden Formular-Makros vor anderen Makros und sequentiell verarbeitet.

Wenn Sie ein und dieselbe Eingabe an mehreren Stellen innerhalb eines Textbausteins benötigen, verwenden Sie einfach eine identische Beschriftung für das entsprechende Formularelement. Das Formularelement wird später im Formular nur einmal angezeigt. Die Anwendereingabe wird dann an allen Stellen eingesetzt, an denen sich das Makro mit der gleich lautenden Beschriftung befindet.

Standardparameter für Formularmakros
  • -TEXT beschriftet das Formularelement.
  • -DEF füllt das Formularelement mit einem Vorgabewert.
  • -REQUIRED erzwingt eine Eingabe.

Texteingabe

{#FORMEDITBOX} fügt ein Eingabefeld zu einem Formular hinzu.

Parameter
  • -SINGLE erzeugt ein einzeiliges Eingabefeld.
  • -REQUIRED erzwingt eine Eingabe. Die Eingabefeld-Beschriftung wird um den Text "(Eingabe erforderlich)" ergänzt. Optional kann PhraseExpress die Syntax der Eingabe durch einen angehängten Parameter email, text, letters, numbers, url, filepath oder folderpath prüfen.
Beispiel

{#FORMEDITBOX -TEXT Geben Sie die URL ein -DEF http://www.google.de -SINGLE -REQUIRED URL}

Das Beispiel fordert in einem einzeiligen Eingabefeld zur Eingabe einer Internetseitenadresse auf. Das Eingabefeld ist bereits mit "http://www.google.de" ausgefüllt. Eine Eingabe ist zwingend erforderlich und wird auf korrekte Syntax geprüft.

Zahleneingabe

{#FORMNUM} fügt eine Zahleneingabe zum Formular hinzu.

Parameter:
  • -MIN definiert den Minimalwert.
  • -MAX begrenzt auf einen Maximalwert.

Checkbox

{#FORMCHECKBOX} fügt ein Ankreuzfeld zum Formular hinzu.

Parameters
  • -VALS definiert die Ausgabe, wenn die Checkbox angekreuzt oder nicht angekreuzt ist. Ohne Angabe wird "yes", bzw. "no" ausgegeben.
  • -DEF True kreuzt die Checkbox als Vorgabe an.
Beispiel

{#FORMCHECKBOX -TEXT Sind Sie männlich? -VALS Er ist männlich|Sie ist weiblich -DEF True}

Das Beispiel erzeugt eine vorangekreuzte Checkbox. In diesem Fall wird "Er ist männlich ausgegeben". Wenn die Checkbox nicht angekreuzt wird, gibt das Makro "Sie ist weiblich" aus.

Gruppieren Sie thematisch zusammenhängende Checkboxen.

Drop-Down

{#FORMCOMBOBOX -ITEMS 1|2|3 -VALS a|b|c} fügt ein DropDown-Menü mit den, unter -ITEMS Auswahlmöglichkeiten zum Formular hinzu, die die Ausgabe der unter -VALS definierten Werte erzeugen.

Textbaustein Drop-Down

{#FORMPHRASECOMBO -SOURCE OrdnerAutotext} fügt ein DropDown-Menü mit allen Textbausteinen eines Ordners, der über seinen Autotext definiert wird, zum Formular hinzu.

Parameter:
  • -SOURCE definiert den Textbausteinordner über seinen Autotext.

Radiobutton

{#FORMRADIOGROUP -ITEMS AuswahlA|AuswahlB|AuswahlB -VALS AusgabeA|AusgabeB|AusgabeC} erzeugt eine Gruppe von Optionsfeldern ("Radiobuttons").

Parameter
  • -ITEMS beinhaltet die einzelnen, per Vertikalstrich getrennten Elemente.

Schieberegler

{#FORMSLIDER -TEXT Schieberegler -DEF 7 -MIN 1 -MAX 10} zeigt einen Schieberegler zur Zahleneingabe.

Erscheinungsbild

{#FORM -TEXT Fenstertitel -WIDTH 450} definiert den Formulartitel und die Formularbreite in Pixel (250-1280 Pixel). Ohne Vorgabe beträgt die Standardbreite 450 Pixel.

Dieses optionale Makro muss sich am Textbausteinanfang befinden.

Gruppierung

{#FORMGROUP -TEXT Beschreibung -ENUM Aufzählungszeichen -LASTENUM letztes Aufzählungszeichen -ITEMS Formularelemente} gruppiert mehrere Formularelemente und gibt die Ausgaben der einzelnen Elemente mit definierbaren Aufzählungszeichen aus.

Parameter:
  • -ITEMS beinhaltet die zusammenzufassenden Formularelemente.
  • -ENUM definiert das Aufzählungszeichen, meist ein Komma, sinnvollerweise gefolgt von einem Leerzeichen.
  • -LASTENUM definiert das abschließende Aufzählungswort, zum Beispiel " und " an (die Leerzeichen sind absichtlich).
Beispiel:

{#FORMGROUP -TEXT Organe -ENUM ,  -LASTENUM  und  -ITEMS {#FORMCHECKBOX -TEXT Ohr -VALS Ohr}{#FORMCHECKBOX -TEXT Nase -VALS Nase}{#FORMCHECKBOX -TEXT Mund -VALS Mund}}

Beachten Sie im Beispiel sorgfältig die zum Aufzählungszeichen zugehörigen Leerzeichen.

Das Beispiel ergibt eine Gruppe mit drei Ankreuzfeldern. Die angekreuzten Elemente werden kommagetrennt ausgegeben. Das letzte angekreuzte Element wird mit "und", statt einem Komma verbunden.

Ausgabebeispiele:

Ohr, Nase und Mund

Ohr und Nase

Hilfstext

{#FORMTEXT -TEXT Beschreibung}fügt einen beschreibenden Text zum Formular-Fenster hinzu.

Dieser Text wird nicht mit dem Textbaustein ausgegeben.

 

Externe Daten

Einfügen externer Dateiinhalte

{#EMBEDFILE Dateipfad} fügt den Inhalt der angegebene Datei im Moment des Ausführens des Textbausteins in den Textbaustein ein.

Unterstützte Dateitypen
Dateiart Dateiendung
Textdateien .TXT, .RTF, .HTM, .HTML

Bilddateien

.BMP, .JPG, .PNG, .GIF

Ausgabe

Tastendruck simulieren

PhraseExpress kann das Betätigen von Tasten simulieren.

Sondertastenbeispiele Ausgabe
{#ENTER} Simulation der Betätigung der ENTER-Taste.
{#SHIFT -CHARS abc} Ausgabe der Zeichen 'abc' bei gedrückter Feststell-Taste (SHIFT)
{#SHIFT -CHARS {#ALT -CHARS abc}} Die SHIFT-Taste wird zusammen mit der ALT-Taste betätigt und die Zeichen 'abc' ausgegeben
{#DOWN -COUNT 5} Die Pfeil Unten-Taste wird 5x betätigt
Beispiel:

Benutzername{#TAB}Passwort{#ENTER}

In diesem Beispiel wird der Text Benutzername ausgegeben, die Betätigung der TAB-Taste simuliert, der Text "Passwort" ausgegeben und abschließend der ENTER-Taste simuliert. Das ist praktisch, um z.B. den Anmeldevorgang an einer Internetseite zu automatisieren.

Schlüsselwörter für Sondertasten:

CTRL, ALT, WIN/CMD, SHIFT, SPACE, BKSP, TAB, BREAK, DEL, LEFT, RIGHT, UP, DOWN, ENTER, ESC, NUMPAD0, NUMPAD1, NUMPAD2, NUMPAD3, NUMPAD4, NUMPAD5, NUMPAD6, NUMPAD7, NUMPAD8, NUMPAD9, MULTIPLY, ADD, SEPARATOR, SUBTRACT, DECIMAL, DIVIDE, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, F16, INS, HOME, END, PGDN, PGUP, PRTSC, SCROLLLOCK, NUMLOCK, CAPSLOCK, NONE

Hinweise zu einzelnen reservierten Sondertasten:
Sondertaste Hinweis
{#NONE} Dies ist ein Platzhalter, um eine gewünschte Tastenfolge zu simulieren, z.B. betätigt {#NONE -CHARS{#ENTER}{#DOWN} -COUNT 5} fünfmal abwechselnd die ENTER- und Pfeil Ab-Taste

{#ADD}, {#MULTIPLY}, {#SEPARATOR}, {#SUBTRACT}, {#DIVIDE}

 

Diese Schlüsselwörter repräsentieren die Sondertasten des getrennten Ziffernblocks

Die Simulation der Betätigung von Tastenkombinationen unterscheidet zwischen Groß- und Kleinschreibung. {#CTRL -CHARS A} simuliert zusätzlich die Betätigung der SHIFT-Taste, weil in dem Beispiel der Großbuchstabe A verwendet wurde. Wenn dies nicht erwünscht ist, verwenden Sie stattdessen den Kleinbuchstaben a: {#CTRL -CHARS a}.

Zufallstext

{#RANDOMTEXT ZufallsText1|ZufälligerText2} fügt zufallsgesteuert einen der, mittels Hochstrich definierten Texte ein.

Beispiel:

Mit {#RANDOMTEXT freundlichen|besten} Grüßen

Die Ausgabe wäre dann zum Beispiel:

Mit freundlichen Grüßen

Bei einem weiteren Aufruf desselben Textbausteins könnte aber auch folgendes ausgegeben werden:

Mit besten Grüßen

ASCII Zeichen

{#ASC Zahlenwert} fügt das Zeichen entsprechend des dreistelligen Zeichencodes ein.

Dies entspricht der Eingabe eines Sonderzeichens mittels ALT-Taste und Eingabe des dreistelligen Zahlencodes auf dem Nummernblock der Tastatur. 

Für das Copyright-Zeichen © verwenden Sie z.B. das Makro {#ASC 169}.

Zufallszahl

{#RND Maximalwert} gibt eine Zufallszahl zwischen 0 und Maximalwert aus.

Beispiel:

Rainer Zufall's Lieblingszahl ist {#RND 100}.

Die Ausgabe wäre dann beispielsweise:

Rainer Zufall's Lieblingszahl ist 23.

Cursor platzieren

{#CURSOR} setzt die Position des Cursors nach Ausführen des Textbaustein an eine gewünschte Position.

Beispiel:

Der Cursor steht hier: {#CURSOR} und nicht am Ende des Textes.

Dieses Makro funktioniert nur für unformatierte Textbausteine, die mittels Taste-für-Taste(!) eingefügt werden. Die Position kann abweichen, wenn sich andere Makrofunktionen vor dem {#CURSOR} Makro befinden, weil dann je nach zusätzlicher Texteinfügung durch andere Makrofunktionen der Offset vom Textbaustein-Beginn verfälscht wird.

Automatisierung

E-Mail erstellen

{#MAIL -TO Empfänger -SUBJECT Betreff -BODY E-Mailinhalt} erstellt eine neue E-Mail mit Ihrem Standard-E-Mailprogramm und füllt die Felder entsprechend Ihrer Angaben aus.

Beispiel:

{#MAIL -TO carmen.baer@kaese.de -SUBJECT Neuigkeiten -BODY {#INSERT ##text}}

Wenn der Textbaustein mit dem Autotext ##text folgenden Inhalte hat:

Hallo Carmen,

schau mal in Deinen Briefkasten!

Gruss,
Bernhard Diener

Trennen Sie mehrere E-Mail-Empfänger mit Komma. Beispiel: alf@meyer.de,kurt@ibm.de

Internetseite aufrufen

{#URL Internetseite} öffnet die angegebene Internetseite im Browser.

Beispiel:

{#URL http://www.phraseexpress.com}

Finder öffnen

{#OPENFOLDER "/verzeichnis"} öffnet den angegebenen Dateiordner im Mac Finder.

Anwendung starten

{#RUN Programmdatei} startet das angegebene Programm.

Beispiel:

{#RUN /Applications/TextEdit.app}

Wenn Sie im Anschluss an das Makro weitere Texteingaben oder Automatisierungen in der gestarteten Anwendung durchführen möchten, müssen Sie direkt nach dem Makro {#RUN …} den Fokus explizit in die neu gestartete Anwendung setzen. Andernfalls werden weitere Schritte in der Anwendung fortgeführt, aus der der Textbaustein aufgerufen wurde.

Datei öffnen

{#OPEN Datei} öffnet die angegebene Datei mit der Anwendung, die hierfür zugeordnet ist.

Beispiel:

{#OPEN /daten/beispiel.txt}

Fokuswechsel

{#FOCUS Fenstername} wechselt zu der angegebenen aktiven Anwendung, basierend auf dem Fensternamen (z.B. "Calculator").

Beispiel:

{#FOCUS Calculator}

Dieser Befehl wechselt den Fokus zum Taschenrechner-Programm (wenn dieses zuvor gestartet wurde).

Bei der Angabe des Fenstertitels können Sie am Anfang und/oder Ende den Platzhalter * verwenden.

Schleifenfunktion

{#LOOP -COUNT x} wiederholt den Inhalt nach 'LOOP' x-mal.

Beispiel:

{#LOOP Beispieltext{#ENTER} -COUNT 3}

Das hier verwendete Beispiel gibt das Wort 'Beispiel' in jeweils einer neuen Zeile dreimal untereinander aus:

Beispieltext

Beispieltext

Beispieltext

Programmierung

Textbaustein einfügen

{#INSERT Autotext …} bettet einen Textbaustein ein, der über seinen Autotext definiert wird.

Sie können aber nicht nur Textbausteine in einen anderen Textbaustein einfügen, sondern sogar einen Textbausteinordner.

In diesem Fall kennt PhraseExpress den einzufügenden Textbaustein im Ordner noch nicht und das gewünschte Verhalten kann im Makroeingabedialog definiert werden:

  • Der gewünschte Textbaustein wird jeweils aus einem Auswahlmenü beim Cursor manuell ausgewählt ("multiple choice"-Auswahl).
  • PhraseExpress wählt jeweils einen zufälligen Textbaustein des Ordners. Damit können Sie Textbaustein zufallsgesteuert variieren.
  • Sie definieren den "x.ten" Textbaustein des Ordners mittels Parameter -ITEM aus. Das ist zum Beispiel bei Verwendung des Zwischenablagespeichers praktisch.
Anwendungsbeispiele:
  • Eine Fußzeile oder E-Mail-Signatur wird von mehreren Textbausteinen gemeinsam genutzt.
  • Einzelne Vertragsabschnitte oder beliebige Texte werden in verschiedenen Textbausteinen wiederverwendet.

Setzen Sie hierzu die Makrofunktion {#INSERT Autotext} an der Stelle eines Textbausteins ein, an der die andere Phrase eingefügt werden soll. Diese wird stets über Ihren Autotext identifiziert.

Sie haben z.B. einen Textbaustein:

Guten Tag,

vielen Dank für Ihr Angebotsschreiben. Wir werden uns in Kürze bei Ihnen melden.

{#INSERT ##signatur}

Am Ende des Textbausteins befindet sich die Makrofunktion zum Aufruf einer weiteren Phrase mit dem Autotext ##signatur und folgendem Textinhalt:

Freundliche Grüße,
Claire-Ann Lage

Der Textbaustein wird dann beim Einfügen wie folgt zusammengesetzt:

Guten Tag,

vielen Dank für Ihr Angebotsschreiben. Wir werden uns in Kürze bei Ihnen melden.

Freundliche Grüße,
Claire-Ann Lage

Mit optionalem Parameter -INHERIT (engl. für 'vererben') merkt sich PhraseExpress Ihre Textbausteinwahl aus dem Auswahlmenü, falls Sie das {#INSERT …} Makro mit dem gleichen Autotext mehrfach in einem Textbaustein verwenden.

Ziehen Sie Textbausteine aus der Baumansicht direkt an die aktuelle Cursorposition im Phraseninhaltseingabefeld des gerade bearbeiteten Textbausteins, um eine Verkettung mittels {#INSERT …} Makrofunktion zu erstellen. Falls der einzufügende Textbaustein noch keinen Autotext aufweist, definiert PhraseExpress basierend auf der Beschreibung und zwei vorangestellten '##' Zeichen und einer Zufallszahl automatisch einen Autotext.

Vorteile von verschachtelten Textbausteinen:
  • Änderungen an der Fußzeile sind nicht mehr in jedem Textbaustein notwendig, die die Fußzeile beinhalten, sondern lediglich in der Fußzeilen-Phrase selbst.
  • Sie sparen Speicherplatz für die Textbausteindatei, weil in allen Phrasen lediglich der Makrobefehl mit dem Verweis auf die Fußzeile statt des kompletten Fußzeilentexts gespeichert wird. Dies gilt insbesondere für Bilder, z.B. einem in mehreren Textbausteinen vorkommenden Firmenlogo.

Wir empfehlen Ihnen ausdrücklich, sich mit verschachtelten Phrasen zu beschäftigen. Konsequent angewendet, sparen Sie Ihnen viel Zeit und ermöglichen eine elegante Verwaltung Ihrer Textbausteine.

Vergleich

{#CHECK } prüft den mit Parameter -TEXT übergebenen Wert mit einem per -CASE definierten Vergleichsoperator und Vergleichswert. Bei Erfüllen der Vergleichsbedingung wird der mittels -OUTPUT definierte Inhalt ausgegeben.

Mehrere Vergleiche können durch | (Hochstrich) voneinander per "Oder"-Verknüpfung innerhalb einer {#CHECK } Makrofunktion definiert werden:

{#CHECK -TEXT ZuVergleichenderText -CASE == Vergleichsstext1 -OUTPUT Ausgabe1|.= Vergleichstext2 -OUTPUT Ausgabe2 -ELSE AusgabeWEnnNichtsZutrifft}

Vergleichsoperatoren
Operator Beschreibung
== exakt gleich
.= fängt an mit
=. endet auf
=.= beinhaltet
!= != ungleich
!.= fängt nicht an mit
!=. endet nicht auf
!=.= beinhaltet nicht
-> Text länger als
<- Text kürzer als
> Zahl größer als
< Zahl kleiner als
>= Zahl größer als
<= Zahl kleiner als
Anwendungsbeispiel:

{#CHECK -TEXT {#INPUT -HEAD Vorname? -SINGLE} -CASE == Hans -OUTPUT Das ist Hans -ELSE Das ist nicht Hans}

Das hier verwendete Beispiel fragt nach der Eingabe eines Namens und gibt ausschließlich bei Eingabe von "Hans" folgendes aus:

Das ist Hans.

Das Makro vergleicht auch Zahlenwerte numerisch und kann statt eines statischen Texte auch weitere Makrobefehle ausführen, wie zum Beispiel den Befehl {#INSERT …}:

{#CHECK -TEXT {#INPUT Zahl?} > 5 -OUTPUT Die Zahl ist größer als 5. -ELSE {#INSERT ##anderephrase}}

Das Beispiel fragt nach der Eingabe einer Zahl und gibt bei einer Zahl größer als 5 aus:

Die Zahl ist größer als 5.

Bei Eingabe einer Zahl kleiner 5 gibt PhraseExpress per {#INSERT …} Befehl den Textbaustein mit dem Autotext ##anderephrase aus.

Bei Ausgabe von Formularmakrofunktionen lagern Sie diese in einen Textbaustein aus und verweisen per {#INSERT } darauf.

Berechnung

{#CALC Berechnung} gibt das Ergebnis des unter Berechnung angegebenen mathematischen Ausdrucks aus.

Parameter
  • -DIGITS ergänzt das Rechenergebnis um eine definierbare Anzahl an führenden Nullen.
  • -ROUND rundet das Ergebnis auf eine bestimmte Anzahl an Nachkommstellen.
  • -DECIMALMARK definiert das Dezimaltrennzeichen
  • -THOUSANDS das Tausendertrennzeichen.
Beispiel:

{#CALC sin(90)*2 -ROUND 2}

Interessant wird dieser Befehl durch Kombination/Verschachtelung mit anderen Makros:

{#CALC {#INPUT -HEAD Zahl?}*45}

Da Makrofunktionen mit nur wenigen Ausnahmen von innen nach außen abgearbeitet werden, wird in diesem Beispiel zunächst per {#INPUT …} Makro nach Eingabe einer Zahl gefragt. Anschließend wird dieser eingegebene Wert mit 45 multipliziert und dann ausgegeben. Statt der Zahl 45 könnten Sie auch ein {#INSERT …} verwenden, das auf einen Textbaustein verweist, der wiederum eine Zahl beinhaltet:

{#CALC {#INPUT -HEAD Zahl?}*{#INSERT Beispielphrase}}

Wenn Sie hier z.B. 5 eingeben und der Textbaustein mit dem Autotext "Beispielphrase" die Zahl 12 beinhaltet, dann würde die Zahl 60 ausgegeben werden.

Bei inkonsistenter Eingabeformatierung (zum Beispiel Operanden mit verschiedenen Dezimaltrennzeichen) gibt die Makrofunktion eine Fehlermeldung aus.

Textbaustein erstellen/ändern

{#SETPHRASE -DESCRIPTION Beschreibung -CONTENT Textbausteininhalt -AUTOTEXT PhrasenAutotext -FOLDER OrdnerAutotext} generiert einen Textbaustein mit der definierten Beschreibung, Inhalt und Autotext in dem Textbausteinordner, der unter -FOLDER angegeben ist.

Nach Ausführen eines Textbausteins mit dieser Makrofunktion wird stets die Textbausteindatei gespeichert, was zu einer kleinen Verzögerung führt. Bedenken Sie, dass bei gleichzeitigem Zugriff auf die Textbausteindatei alle Arbeitsplatzinstallationen die Datei mit jeder Änderung aktualisieren/synchronisieren müssen. Daher sollten Sie mit diesem Makro erstellte, bzw. geänderte Textbausteine gegebenenfalls in einer separaten, lokalen(!) Textbausteindatei speichern. Alternativ kann die Verwendung temporärer Variablen sinnvoller sein.

Bei fehlendem Parameter -CONTENT wird der Textbaustein mit dem per -AUTOTEXT definierten Autotext gelöscht!

Wird kein Parameter -FOLDER angegeben oder, wenn der hier angegebene Ordnerautotext nicht existiert, wird der Textbaustein in der Hauptebene der Textbaustein-Hierarchie erstellt.

Temporäre Variablen

Temporäre Variablen speichern Text und/oder Zahlenwerte zur Wiederverwendung im gleichen oder anderen Textbausteinen.

Die Variablen werden im Hauptspeicher abgelegt und bleiben nur während der Programmlaufzeit erhalten.

Sie ermöglichen aufwendigere Makroprogrammierungen und lösen im Gegensatz zu {#SETPHRASE …} keinen Schreibvorgang der Textbausteindatei aus.

Temporäre Variable erstellen

Videoanleitung

{#SETTEMP -NAME Name -CONTENT Inhalt} definiert eine temporäre Variable mit dem angegebenen Namen und Inhalt. Es können beliebig viele temporäre Variablen erstellt werden.

Wenn der Parameter -CONTENT leer ist, wird die Variable nicht gelöscht, sondern sie hat einen leeren Inhalt, damit sie noch für Vergleichsoperationen zum Beispiel per {#CHECK …} genutzt werden kann.

Nach Beenden von PhraseExpress werden alle temporären Variablen gelöscht!

Temporäre Variable ausgeben

{#GETTEMP -NAME Name} gibt den Inhalt der zuvor, per Makrofunktion {#SETTEMP …} definierten Variablen mit dem definierten Namen aus.

Verzögerung

{#SLEEP Millisekunden} wartet die angegebene Zahl in Millisekunden.

Beispiel:
Hallo {#SLEEP 3000} Welt!

Das Beispiel gibt "Hallo" aus, wartet 3 Sekunden und schließt dann mit "Welt!" ab.

Verzögerungen sind nützlich, falls eine Anwendung längere Zeit für die Verarbeitung einer Tasteneingabe benötigt. Auch bei Operationen in Verbindung mit der Windows Zwischenablage ist eine kleine Verzögerung von einigen Sekunden erforderlich, weil Windows oft etwas länger für Zwischenablageoperationen benötigt.

Stringoperationen

Stringoperationen dienen zur Formatierung, Zuschneidung und Bearbeitung von Texten.

Makrofunktion Beschreibung
{#LENGTH Text} Gibt die Länge des angegebenen Texts als ganzzahligen Wert zurück. Dieses Makro ist nützlich in Zusammenhang mit den anderen Makrofunktionen {#SUBSTR …} und {#CALC …}.
{#LOWERCASE Text} Wandelt den Text in Kleinbuchstaben um.
{#UPPERCASE Text} Wandelt den Text in GROSSBUCHTSTABEN um.
{#LOWERCASEFIRST Text} Wandelt den ersten Buchstaben des Texts in Kleinbuchstaben um.
{#UPPERCASEFIRST Text} Wandelt den ersten Buchstaben des Texts in GROSSBUCHTSTABEN um.
{#LOWERCASEWORD Text} Wandelt den ersten Buchstaben jedes Wortes eines Texts in Kleinbuchstaben um.
{#UPPERCASEWORD Text} Wandelt den ersten Buchstaben jedes Wortes eines Texts in GROSSBUCHTSTABEN um.
{#TRIM Text} Entfernt Leerzeichen vor und hinter dem angegebenen Text.
{#TRIMLEFT Text} Entfernt Leerzeichen vor dem angegebenen Text.
{#TRIMRIGHT Text} Entfernt Leerzeichen hinter dem angegebenen Text.
{#POS Text -SUBSTR Teiltext} Gibt die Position als ganzzahligen Wert zurück, ab der der unter -SUBSTR angegebene Teiltext in Text vorkommt.
{#REPLACE Text -OLDTEXT AlterText -NEWTEXT NeuerText} Ersetzt im Text den unter -OLDTEXT angegebenen String mit dem unter -NEWTEXT angegebenen String.
{#SUBSTR Text -FROM x -COUNT y} Extrahiert aus dem Text einen Teilstring ab Zeichenposition -FROM mit der Länge -COUNT.
Anwendungsbeispiel:

Sehr geehrter Herr {#UPPERCASEFIRST {#TRIM {#INPUT -HEAD Nachname? -DEF {#INSERTCLIPBOARD} -SINGLE}}

Das verschachtelte Makrobeispiel wird von innen nach außen verarbeitet: Zunächst erwartet die manuelle Texteingabe mittels {#INPUT …} Makro die Eingabe eines Nachnamens für eine Anredefloskel. Als Vorgabewert wird mit {#INSERTCLIPBOARD …} der aktuelle Inhalt der Zwischenablage vorgeschlagen. Nach der manuellen Texteingabe werden überschüssige Leerzeichen mittels {#TRIM …} entfernt und abschließend der erste Buchstabe der Texteingabe mit dem Makro {#UPPERCASEFIRST} groß geschrieben.

Zwischenablage

Zwischenablage ausgeben

{#INSERTCLIPBOARD} gibt den Zwischenablageinhalt zeichenweise als Text aus, statt über die weiter oben beschriebene Systemfunktion (Betätigen von CMD-v). Diese Funktion eignet sich auch, um z.B. den aktuellen Zwischenablageinhalt als Vorgabewert für ein Eingabefeld zu verwenden:

{#INPUT -HEAD Eingabe? -DEF {#INSERTCLIPBOARD}}

In diesem Beispiel öffnet sich das Eingabefenster für eine manuelle Texteingabe mit dem Inhalt der Zwischenablage als Vorgabewert.

Zwischenablage füllen

{#SETCLIPBOARD Inhalt} füllt die Zwischenablage mit dem im Makro definierten Inhalt.

Beispiel:

{#SETCLIPBOARD {#INPUT Text?}}

In diesem Beispiel öffnet sich das Eingabefenster für eine manuelle Texteingabe. Die Windows Zwischenablage wird dann mit dem dort eingegebenen Text gefüllt.

Inhaltsverzeichnis