Hallo!
Ich lade mal ein wenig Quältext hoch, als Beispiel für The Bat! Makros mit RegExen, vielleicht hat jemand Verwendung dafür:
Zweck: Ich hab die Geburtstagsbenachrichtigung aktiviert und eine Schnellvorlage erstellt, die Geburstag heißt, in der ein Betreff und Text als Mail generiert wird, in der dem Geburtstagskind zum Geburtstag gratuliert wird. Da ich sehr viele Geschäftskunden habe, ist diese eher formale Gratulation tolerabel.
Hallo %TOFNAME,%-
%COOKIE="c:\users\public\anwendungsdaten\thebat\cookie\geburtstag.txt"
%INCLUDE="c:\users\public\anwendungsdaten\thebat\signatur\jsr1.txt"%-
%QINCLUDE="_lib_PGP_Signature_de"
%SUBJECT="Herzlichen Glueckwunsch zu Deinem %Qinclude=""_lib_Lebensalter""Geburtstag!"
%ACCOUNT="jsr [web.de]"
%CLEAR
Inhalt der Cookie-Datei geburtstag.txt:
\n\nich lese hier gerade, dass Du heute Geburtstag hast. Das ist für mich ein willkommener Anlass, Dir mit dieser Mail die herzlichsten Glückwünsche auszusprechen und Dir zu übersenden.\n\nAlles Gute für Deine weitere Zukunft!\n
\n\nna? Wieder ein Jahr mehr? Und immer noch Spaß dabei?\nDann wünsche ich Dir alles Gute zu Deinem Geburtstag.\nOder alles, was Du dir wünscht.\nIn diesem Sinne: alles Gute für Deine weitere Zukunft!\n
(...)
Das Lebensalter kann man auf zwei Arten berechnen, einmal mit dem Plugin XMP_Plugin und zum anderen mit Bordmittlen und RegExen:
Schnellvorlage _lib_Lebensalter mit XMP_Plugin:
%_GDatum="%XMP_StrRight('%ABToBirthday',2).%-
%XMP_StrMid('%ABToBirthday',5,2).%-
%XMP_StrLeft('%ABToBirthday',4)"%-
%_LAlter="%XMP_Age(%_GDatum)"%-
%IF:"%_LAlter"="0":'':'%_LAlter. '%-
Erläuterung:
- Zeile 1-3: Eine Variable (%_GDatum) wird gefüllt mit dem Jahr, dem Monat und dem Tag des Geburtstags aus dem Adressbuch
- Zeile 4: Das Lebensalter wird mit dem XMP-Makro %XMP_Age berechnet.
- Zeile 5: Die If-Anweisung setzt entweder nichts ein, oder das Lebensalter mit nachfolgendem Punkt.
Schnellvorlage _lib_Lebensalter mit RegExen:
%_GDate="%SetPattRegexp='(....)'%RegexpMatch='%ABTOBirthday'"
%IF:"%_GDate"="0":'':%CALC="%Date='yyyy'-%_GDate"
Erläuterung:
- Zeile 1: Aus dem Geburtsdatum wird mit einer RegEx das Geburtsjahr extrahiert und der Variable %_GDate abgelegt.
- Zeile 2: Aktuelles Datum, bzw. die Jahreszahl minus Geburtsjahr ergibt das Lebensalter. Die If-Anweisung setzt entweder nichts ein, oder das Lebensalter mit nachfolgendem Punkt.
So, das wars, falls noch jemand bessere Ideen hat, gern...!