Serienbriefe, was nach dem Handbuch kommt

Die Serienbrieffunktion von StarOffice ist sehr spartanisch erläutert. Mir fehlt vor allem eine problemorientierte Erläuterung. Dieser Text wendet sich an Leute, die das Handbuch auf den Seiten 191 bis 194 gelesen haben oder mit anderen Worten, Leute die wissen, wie so ein Serienbrief mit StarWriter im Prinzip funktioniert.
Die hier gegeben Informationen sind auch für Leute wichtig, die mit Briefvorlagen arbeiten und z. B. das Empfängerfeld über das Adreßbuch füllen möchten.

Störende Absätze und Leerzeichen

Versteckter Absatz

Versteckter Text

Bedingter Text

Als Bedingung Felder verwenden

Verteiler auf dem Adreßbuch organisieren

Serienbriefe mit Datenbankabfragen drucken

Mehrere Datensätze in einem Dokument

Mehrere Datenbanken in einem Dokument

Weitere Tips

Sanduhr

Drag&Drop von Serienbrieffeldern

Druck aufteilen

Serien-Email bzw. Aliase

Störende Absätze und Leerzeichen

Mit den Feldbefehlen Versteckter Absatz, Bedingter Text und Versteckter Text kann man Serienbrieffelder an verschiedene Datensätze anpassen. So werden Adressen von Firmen und Privatpersonen gleichermaßen sinnvoll formatiert.

Versteckter Absatz

Wie der Name schon sagt, wird ein ganzer Absatz beim Ausdruck ignoriert. Es wird der Absatz ignoriert, in dem der Feldbefehl steht. Der Absatz wird ausgeblendet, wenn die Bedingung erfüllt ist. Stehen mehrere Feldbefehle Versteckter Absatz in einer Zeile, müssen alle erfüllt sein, um den Absatz auszublenden.
Versteckter Absatz findet man unter Einfügen|Feldbefehl|Andere Bereich: Funktionen

Beispiel: Taucht im Adreßfeld eine Zeile für das Feld Firma auf, so soll der Absatz ignoriert werden, wenn das Feld Firma leer ist.
Dazu muß man in dem Absatz den Feldbefehl Versteckter Absatz einfügen mit der Bedingung NOT(FIRMA).

Der Absatz wird also versteckt, wenn das Feld Firma nicht gefüllt ist. Wer findet, daß das dreimal um die Ecke gedacht ist, kann alternativ die Bedingungen FIRMA eq "" oder EMPTY(FIRMA) verwenden.
Mehr Informationen zu Bedingungen findet man in der StarWriter Hilfe unter Menüs|Einfügen|Feldbefehl|Andere Hyperlink: Beispiele für Bedingungen.

Wenn Du nun einen Datensatz in einen Brief einmischt, den Absatz aber immer noch auf dem Bildschirm seht, liegt das vermutlich an den Einstellungen unter Extras|Optionen|Textdokumente Register: Inhalte

Ist die CheckBox Versteckte Absätze aktiviert, so werden die Absätze auf dem Bildschirm stets angezeigt.
Ich würde die Anzeige abstellen, da man mit Ansicht|Feldbefehle (<Strg>+<F9>) auch versteckte Absätze auf Tastendruck wieder anzeigen kann.
Steht die Ansicht auf Feldbefehle anzeigen, so wird vor dem Ausdruck gewarnt.



Versteckter Text

Ähnlich wie gesamte Absätze kann man auch störende Zeichenfolgen mit einem Feldbefehl ausblenden.

Beispiel: Die Anrede Titel Vorname Name hat ein Leerzeichen zu viel, wenn der Adressat keinen Titel trägt.
Statt einem richtigen Leerzeichen, fügt man zwischen Titel und Vornamen den Feldbefehl Versteckter Text mit der Bedingung TITEL und als Text ein Leerzeichen ein.

Auf dem obigen Screenshot sieht man, daß auch die Anzeige von verstecktem Text ein- und ausschaltbar ist. Hier hat sich jedoch eine "optimierbare Funktionsunzulänglichkeit" eingeschlichen. Ist diese Option eingeschaltet, wird der verstecke Text auch ausgedruckt (StarOffice 4.0 Service Pack 2+). Ich bin beim Ausprobieren fast wahnsinnig geworden.

Bedingter Text

Abhängig von einem Feldinhalt kann man zwei verschiedene Textvarianten anbieten.

Beispiel: Möchte man jeden Adressaten mit „Sehr geehrte...“ anreden, muß man bei weiblichen Wesen „geehrte“ und bei Herren „geehrter“ sagen.
Dies kann man mit dem Feldbefehl Bedingter Text erreichen, Als Bedingung gibt man ANREDE eq „Frau“ an. Im „dann“-Fall „geehrte“ und im „sonst“-Fall „geehrter“.

Als Bedingung Felder verwenden

In den Textangaben der Feldbefehle Versteckter Text und Bedingter Text kann man nur einfachen Text keine Felder oder Formatierungen verwenden. Eine Lösung dieses Problems ist, mit zwei sich gegenseitig ausschließenden versteckten Absätzen zu arbeiten.

Beispiel: Als Briefanrede soll „Sehr geehrte Damen und Herren,“ verwendet werden, wenn das Feld Biefanred leer ist. Dazu fügt man zwei Absätze ein.
Den ersten mit dem Feldbefehl Versteckter Absatz mit Bedingung NOT(BRIEFANRED) dahinter packt man das Serienbrieffeld Biefanred.
Der zweite Absatz direkt darunter enthält den Feldbefehl Versteckter Absatz mit Bedingung BRIEFANRED dahinter kommt der Text „Sehr geehrte Damen und Herren,“.

Nun wird, wenn das Feld Biefanred leer ist, der erste Absatz ausgeblendet. Wenn das Feld Biefanred einen Inhalt hat, so wird der allgemeine Anrede „Sehr geehrte Damen und Herren,“ weggelassen.

Das Ein- und ausblenden ganzer Textpassagen kann man mit Einfügen|Bereich bewerkstelligen.

Verteiler auf dem Adreßbuch organisieren

Das Adreßbuch ist im Prinzip eine normale StarBase-Datenbank, mit der Zusatzfunktion Bearbeiten|Adreßbuch. Dieses nicht modale kleine Formular ist für mich der Grund trotz Unzulänglichkeiten mit dem eingebauten Adreßbuch zu arbeiten.

Man kann die Tabelle \office40\database\adressen.dbf einfach um Felder erweitern bzw. die Länge der vorhandenen Felder vergrößern. Mit dem Nachteil, das man über das Formular Bearbeiten|Adreßbuch weder die neuen Felder bearbeiten kann, noch die neuen Feldlängen ausnutzen kann. Dazu muß man dann den Datenbankbeamer benutzen oder ein eigenes Formular anlegen. Ansonsten funktioniert das Adreßbuch wie gewohnt weiter.

Nun kann man seine Adressen munter in einer großen Liste erfassen und Serienbriefe an bestimmte Leute durch markieren im Datenbankbeamer bewerkstelligen.

Hat man einen etwas größeren Datenbestand als 4 Datensätze, möchte man meist Kategorien wie „privat“ und „geschäftlich“ oder „Projekt Sternenkolonne“ einfügen und so Verteiler organisieren. Dies kann man einerseits durch Einfügen eines logischen Feldes pro Kategorie erreichen, z. B. ein Feld PRIVAT. Die Zuordnung erfolgt durch setzen dieses Feldes auf Ja oder Nein.

Komfortabler ist es ein bestehendes Adreßbuchfeld zu mißbrauchen, sagen wir das Feld Position und dort seine Verteiler zu organisieren. Jemand in den Verteiler „Privat“ aufzunehmen ist ganz einfach, man trägt in das Feld Position \privat\ ein. Soll dieser noch in den Verteiler „Geschäftlich“ aufgenommen werden, ergänzt man \privat\geschäftlich\



Wieso macht der das denn so?

Jeder Verteiler bekommt eine eindeutige Zeichenfolge zugeordnet z. B. privat (Groß- und Kleinschreibung werden berücksichtigt). Zusätzlich benötigt man noch ein eindeutiges Trennzeichen, daß in den Verteilernamen nicht auftauchen darf. In diesem Beispiel ist es der Backslash „\“.
Wird jemand in einen Verteiler aufgenommen, so wird die Zeichenfolge für den Verteiler umrahmt von dem Trennzeichen in das reservierte Feld eingegeben. Man benötigt dieses Trennzeichen, um mit Verteilernamen arbeiten zu können, die sich einander enthalten können. Beispiel: „privat“ und „privatparty“ eine Untergruppe des Verteilers Privat.

Hat man seine Verteiler so organisiert, kann man die Personen in einem Verteiler bzw. deren Datensätze leicht abfragen.

Dazu legt man eine neue Abfrage an.

Die Bedingung lautet POSITION WIE '%\privat\%' und bedeutet irgendwo im Feld Position muß die Zeichenkette „\privat\“ auftauchen. Der Platzhalter „%“ steht für beliebig viele Zeichen.



Hat man den Abfrageentwurf gewählt, kann man einen SQL-Ausdruck eingeben, dieser lautet:

SELECT "adressen".* FROM "adressen" "adressen" WHERE ( ( "POSITION" LIKE '%\privat\%' ) )

Serienbriefe mit Datenbankabfragen drucken

Abfragen werden in StarBase wie Tabellen behandelt. Hast Du im Adreßbuch eine Abfrage Namens Verteiler_Privat angelegt, so taucht diese von nun an in jeder Tabellenliste der Datenbank Adreßbuch naben der Tabelle adressen auf.

Nehmen wir man an, ein Serienbrief bzw. dessen Vorlage wurde mit den Feldern der Tabelle Adreßbuch.adressen erzeugt und es soll ein Serienbrief an alle Personen im Verteiler „privat“ geschickt werden.

Dann reicht es leider nicht aus im Explorer die Abfrage Verteiler_Privat zu markieren und im Beamer auf den Serienbrief zu drücken, sondern es muß die Datenbank zuvor ausgetauscht werden.

Die Funktion findet man unter Bearbeiten|Datenbank austauschen.

Links unter „Verwendete Datenbanken“ muß die Tabelle adressen markiert sein, dazu muß man auf Adreßbuch doppelklicken. Am besten man überzeugt sich vom Wechsel der Datenbank durch erneutes Aufrufen des Dialogs. Denn leider kann man die Festlegen-Taste auch dann drücken, wenn die „Verwendete Datenbank“ bzw. die verwendete Tabelle nicht markiert ist. In diesem Fall wird die Datenbank jedoch nicht ausgetauscht!



Weiterhin bekommt man keine Fehlermeldung, wenn im Beamer eine falsche Datenbank offen ist und man den Serienbriefdruck über den Beamer startet. Am besten wählt man noch einmal Ansicht|Aktuelle Datenbank (<F4>), bevor man mit Hilfe des Beamers einen Serienbriefdruck startet.

Mehrere Datensätze in einem Dokument

Sollen mehrere Adressen auf eine DIN-A4-Seite gedruckt werden, z. B. zwei DIN-A5-Querformat Einladungskarten, eine Adreßliste oder Platzkarten so muß man mit dem Feldbefehl Nächster Datensatz aus dem Bereich Datenbank gearbeitet werden. Dabei wird nach dem Auftreten des Befehls der Datensatzzeiger auf den nächsten Datensatz gestellt.

Typischerweise stellt man den Feldbefehl Nächster Datensatz zwischen zwei Adressen. Eine Adreßliste kann mit einem Dokument erstellt werden, das aus einer Tabelle besteht. In jeder Zeile der Tabelle sollte dann die komplette Adresse eines Klienten aus Datenbankfeldern zusammengesetzt stehen und am Ende jeder Zeile der Feldbefehl Nächster Datensatz. Hinter das letzte Adreßfeld darf der Feldbefehl Nächster Datensatz nicht stehen.

Angenommen man erstellt ein solches Dokument mit 10 Tabellenzeilen und einer Datenbank mit 25 Datensätzen. Beim Serienbriefdruck aller Datensätze werden nun drei Seiten erzeugt. Die erste Seite enthält die Datensätze 1 bis 10, die zweite Seite enthält die Datensätze 11 bis 20 und die letzte Seite enthält die Datensätze 21 bis 25. Die Datenbankfelder auf der letzen Seite, für die nicht existierenden Datensätze 26 bis 30 bleiben leer.

Wird eine DIN-A4-Seite für den Druck mehrerer gleichartiger Objekte, wie Platzkarten oder Anstecker verwendet, so kann man mit Textrahmen arbeiten. Der Feldbefehl Nächster Datensatz muß dann hinter den Datenbankfeldern im Rahmen oder außerhalb des Rahmens stehen. Das funktioniert sogar mit seitengebundenen Rahmen sehr gut, man sollte sich nur darüber im Klaren sein, was man da macht.

Für Platzkarten oder Anstecker eignet sich die Etikettenfunktion von StarOffice ganz besonders. Man findet sie bei offenem Textdokument unter Einfügen|Etiketten. Diese Funktion kann auch ein neues Dokument anlegen. Eigene Etikettenformate können in diesem Dialog angegeben werden oder in der Datei \Office40\config\LABELS.INI eingetragen werden.

Mehrere Datenbanken in einem Dokument

Über Einfügen|Feldbefehl|Andere können Serienbrieffelder aus verschiedenen Datenbanken eingefügt werden. Auch wenn ich bisher noch keine geeignete Anwendung für diese Funktion gefunden habe, will ich diese Funktion beschreiben. Dabei scheint es so etwas wie eine Hauptdatenbank zu geben, nach der sich die Serienbrieffunktion richtet, diese erscheint auch im Datenbank-Beamer (Ansicht|Aktuelle Datenbank). Es scheint immer die zuletzt eingefügte oder gewechselte Datenbank die Hauptdatenbank zu sein.

Alle Serienbrieffelder der Hauptdatenbank verhalten sich wie gewohnt. Sie werden beim Serienbriefdruck automatisch von Dokument zu Dokument weitergeschaltet. Serienbrieffelder aus anderen Datenbanken müssen mit dem Feldbefehl Nächster Datensatz manuell weitergeschaltet werden. Dem Feldbefehl Nächster Datensatz kann auch eine Bedingung mitgegeben werden. Vielleicht findet sich in dieser Kombination eine brauchbare Anwendung für mehrere Datenbanken in einem Dokument.

Weitere Tips

Sanduhr

Hat man ein Dokument geladen, dessen zugeordnete Datenbank auf der aktuellen Workstation nicht eingerichtet ist kann es leicht durch „ungeschicktes“ Editieren passieren, daß StarWriter eine Dauer-Sanduhr anzeigt, obwohl er noch voll funktionstüchtig ist. Man kann dann zwar noch weiterarbeiten, ein Sanduhr-Cursor ist jedoch sehr störend.

Lösungen: Am besten Zuallererst immer die Datenbank austauschen (siehe oben). Aus dieser Situation kann man sich mit einem Makro-Befehl befreien: Application.LeaveWait()

Drag&Drop von Serienbrieffeldern

Serienbrieffelder können auch via Drag&Drop in das Dokument gezogen werden. Dazu positioniert man die Maus auf den Spaltenkopf (z. B. Abteilung) drückt die linke Maustaste, zieht den Cursor in das Dokument und läßt die Maus los.

Druck aufteilen

Möchte man einen aus mehreren Seiten bestehenden Serienbrief ausdrucken und sind nur auf der ersten Seite Serienbrieffelder, so kann man den Druck aufteilen. Dies ist insbesondere sinnvoll, wenn man auf vorgedrucktem Briefpapier drucken möchte oder die weiteren Seiten mit dem Kopierer vervielfältigen möchte. Die erste Seite druckt man mit der Serienbrieffunktion, dazu startet man wie gewohnt die Serienbrieffunktion und gibt im abschließend erscheinenden Druckerdialog unter Druckbereich bei Seiten eine „1“ ein. Die Anzahl der ausgedruckten Briefe kann man im Datenbankbeamer ablesen (roter Pfeil)

Falls dort ein Fragezeichen steht drückt man einmal au den Button „Anzahl Datensätze“.



Die restlichen Seiten druckt man über Datei|Drucken bzw. <Strg>+<P> (nicht über den Drucken-Button). Im Druckerdialog gibt man nun unter Druckbereich bei Seiten „2-“ ein. Unter Kopien ist nun die Anzahl der Serienbriefe einzugeben und man kann sich aussuchen, ob die Ausgabe sortiert erfolgen soll.

Bei dieser Einstellung unsortiert wird die Seite 1 erste 21 Mal ausgedruckt, dann kommt Seite 2 mit 21 Exemplaren. Der Ausdruck kann auf manchen Laserdruckern schneller sein, da diese dann in den Kopiermodus gehen.

Wählt man Sortieren, wird ein komplettes Exemplar des Briefes nach dem anderen ausgedruckt.



Serien-Email bzw. Aliase

Im Serienbrief-Dialog kann man auch die Option „Mailing“ wählen. Dies ermöglicht mit den obigen Hinweisen die Einrichtung von Email-Verteilern. Möchte man eine Email an den Verteiler schreiben, so legt man ein neues Textdokument an. Startet Datei|Serienbrief, wählt Mailing, legt das Feld in dem die Emailadresse steht fest, gibt einen Betreff ein und kann das Format der Mail auswählen. Gegebenenfalls kommt nun ein Datei-Speichern-Dialog, da nur gespeicherte Dokumente verschickt werden können.

Tauchen in der Email keine Serienbrieffelder auf, was durchaus der Normalfall sein kann, so ist mit diesem Dokument auch keine Datenbank verbunden, d.h. es muß auch keine Datenbank ausgetauscht werden. Man kann einfach im Explorer eine Abfrage markieren, den Beamer öffnen und die Serien-Email-Funktion starten.

Die Serien-Email-Funktion schickt auch wenn der Text keine Serienbrieffelder enthält an jeden Adressaten eine eigene Email, was den Ausgangskorb mächtig füllt. Der Vorteil ist jedoch, daß die einzelnen Adressaten anhand der Email nicht herausfinden können, wer alles im Verteiler ist.

Serien-Emails scheinen mir nur sinnvoll, wenn im Verteiler viele Personen sind. Für wenige Leute kann man auch einen Alias anlegen. Dazu legt man z. B. auf den Desktop eine neue Verknüpfung an und gibt als Ziel-URL „mailto:“ gefolgt von einer durch Komma getrennten Liste der Email-Adressen an, zusätzlich kann man noch ein Betreff angeben.

Beispiel:

mailto:werner@wernerroth.de,karlchen@t-offline.de,meier@abacab.com?Subject="[Alias Party] Einladung"

Autor: Werner Roth Original liegt auf http://www.wernerroth.de/staroffice/dokus/

© 2000 Rechtlicher Hinweis