Archiv des LibreOffice- und OpenOffice.org-Wiki

[ÜberSicht] [TitelIndex] [WortIndex] [SeiteFinden

Im folgenden wird ein Adressblock erstellt, der als AutoText (=Textbaustein) gespeichert und für Serienbriefe und mit kleiner Ergänzung auch für Etiketten benutzt werden kann

Voraussetzung ist, dass bereits eine DatenBank existiert und als Datenquelle angemeldet wurde.

1. Dokument erstellen

Da wir zunächst nur einen AutoText erfassen wollen, kümmern wir uns nicht um die Gestaltung des Dokumentes, in dem wir arbeiten. Es muss auch nicht unbedingt ein neues Dokument sein, man kann auch ein schon geöffnetes Writer-Dokument benutzen, aus dem man nach Fertigstellung des Textbausteins diesen wieder löscht. Wichtig ist aber, dass man an der Stelle, an der man den AutoText kreiert, keine harten Formate verwendet.

Dies darum, weil der AutoText später in unterschiedlichen Dokumenten verwendet werden und sein Format sich entsprechend anpassen soll. Also ordnet man dem Absatz, an dem man mit der Erstellung des Adressblockes beginnt, am besten die Absatzvorlage Empfänger zu und entfernt evtl. vorhandene harte Formate, indem man die betroffenen Absätze markiert und Format → Standard drückt. Dann kann man in späteren DokumentVorlagen, in denen man den AutoText einfügt, die dort ebenfalls vorhandene Absatzvorlage Empfänger bei Bedarf ändern.

2. Serienbrieffelder einfügen

2.1. Adressfelder ins Dokument übernehmen

Es gibt zwei Vorgehensweisen, um Serienbrieffelder in ein Dokument einzufügen:

2.1.1. Felder mit der Maus ins Dokument ziehen

Mit F4 blendet man die DatenQuellen-Anzeige ein und wählt die Tabelle mit den Adressfeldern. 1

sb01.png

Als nächstes zieht man jedes benötigte Adressfeld in das TextDokument, indem man in der Datenquellen-Anzeige die gewünschten Spalten anklickt und den jeweiligen Spaltentitel mit gedrückter Maustaste ins Textdokument zieht (DragAndDrop).

2.1.2. Datenbank-Feldbefehle

SerienbriefFelder fallen auch unter die Kategorie FeldBefehle. Daher kann man sie sich auch über den Feldbefehl-Dialog holen; die Datenbankanzeige (F4) muss dazu nicht eingeblendet sein.
Einfügen → Feldbefehl → Andere → Datenbank:

sb11.png

2.1.3. Beispiel-Ansicht

In unserem Beispiel sieht der Adressblock nun so aus:

sb02.png

2.2. Leerzeilen im Adressblock vermeiden

Im aktuellen Beispiel gibt es Adressen, die keine Postfach-Nummer haben. In dem Fall soll natürlich keine leere Zeile entstehen. In den Absatz mit dem Postfach-Eintrag fügen wir daher einen FeldBefehl vom Typ VersteckterAbsatz ein. Die Bedingung, die dafür formuliert werden muss, kann so:

NOT Postfach

oder so:

!Postfach

eingegeben werden.
sb03.png

Man kann das Bedingungsfeld in diesem Katalog auch dadurch ausfüllen, dass man den betreffenden Feldnamen aus der Datenquellen-Anzeige mit der Maus in das Feld zieht und nur noch durch die Bedingung ergänzt. In dem Fall verwendet das Programm aber den qualifizierten Feldnamen:
[Datenquelle.Tabelle.Postfach].
Diese Schreibweise kann bei älteren OpenOffice.org-Versionen zum Hindernis werden, wenn man die Datenquelle für ein Mischdokument austauschen will. Bei Adressdateien ist es ja öfter der Fall, dass man verschiedene Tabellen oder Abfragen hat. Wenn dabei immer die gleichen Feldnamen verwendet werden 2, kann man auch immer die gleiche Dokumentvorlage verwenden und diese je nach Bedarf mit einer anderen Datenquelle verbinden (Bearbeiten → Datenbank austauschen). Gibt es in dem Dokument jedoch Feldbefehle, bei denen der Feldname auch den Tabellen- und Datenquellen-Namen enthält, so beziehen sich diese auch nach dem Austausch der Datenquelle noch auf die alte Tabelle und man muss alle Feldbefehle überarbeiten.

2.3. Anrede-Codes "übersetzen"

2.3.1. Entweder-Oder

Viele Adresstabellen enthalten als Anrede nicht Herr oder Frau, sondern einen Anrede-Code. In unserem Beispiel steht Anredecode a für Herr und Anredecode b für Frau.

An der Stelle der Anrede wird daher ein FeldBefehl vom Typ BedingterText benötigt:

sb04.png

Wenn es auch denkbar ist, dass das Feld Anrede leer ist, dann muss noch dafür gesorgt werden, dass vor dem nachfolgenden Namen kein Leerzeichen steht. Man könnte das auf die gleiche Weise lösen, wie weiter unten im Absatz Leerzeichen vor dem Nachnamen nur, wenn es auch einen Vornamen gibt beschrieben ist. Oder man wählt die folgende Taktik:

Man fügt die Zeile (oder korrekter: den Absatz) mit dem Namen ein zweites Mal ein, aber ohne Anrede. Anschließend fügt man in beide Namen-Absätze einen Feldbefehl vom Typ VersteckterAbsatz ein.
Die Bedingung für den Absatz mit dem Anrede-Code lautet:

!Anrede

Die Bedingung für den Absatz ohne Anrede-Code lautet:

Anrede

2.3.2. Mehr als zwei Fallunterscheidungen

Angenommen, es gibt mehr als zwei Anredecodes:
a: Herr
b: Frau
c: Monsieur
d: Madame
dann kann man das nicht mit einer entweder-oder-Bedingung lösen.

In dem Fall benötigt man so viele bedingte Texte, wie es Fallunterscheidungen gibt, die man alle direkt hintereinander einfügt, ohne Abstand.

Bei der Definition der Bedingung bleibt das Feld Sonst einfach immer leer:

sb05.png
sb06.png

2.4. Leerzeichen vor dem Nachnamen nur, wenn es auch einen Vornamen gibt

Wenn ein Feld keinen Inhalt hat, so verursacht es beim Mischen mit dem Text auch keine Leerstelle im Dokument. Allerdings ist das Leerzeichen zwischen Vor- und Nachname direkt im Dokument erfasst und würde also in jedem Fall für einen Abstand sorgen. Dies Problem kann man auf zwei Arten lösen. Man benötigt auch wieder einen FeldBefehl, den man anstelle des Leerzeichens eingibt, und kann wählen zwischen dem Typ VersteckterText und dem Typ BedingterText.

Benutzt man einen bedingten Text, so lautet die Bedingung:
Wenn es einen Vornamen gibt, so füge ein Leerzeichen ein.

Die Bedingung wenn ein Feld existiert formuliert man dadurch, dass man einfach den Feldnamen in das Feld Bedingung schreibt. Im Feld Dann gibt man ein Leerzeichen ein, wobei dieses je nach Programmversion in Anführungszeichen gesetzt werden muss.

Benutzt man einen versteckten Text, so muss die Bedingung umgekehrt formuliert werden:
Wenn es keinen Vornamen gibt, verstecke das Leerzeichen.

Die Bedingung "wenn ein Feld nicht existiert" kann man so:

!Vorname

oder so:

NOT Vorname

formulieren. Im Feld Dann gibt man ein Leerzeichen (ohne Anführungszeichen) ein.

2.5. Adressblock an der letzten Adresszeile ausrichten

Wenn der Adressblock pro Brief unterschiedlich hoch sein kann und man ihn so ausrichten möchte, dass z.B. die Ortszeile stets auf gleicher Höhe erscheint, geht man folgendermaßen vor:

Pro Adresszeile, die einen versteckten Absatz enthält, wird vor den Adresszeilen ein zusätzlicher Absatz eingefügt, der einen FeldBefehl versteckter Abstz mit genau gegenteiliger Bedingung enthält. Dadurch wird der gesamte Adressblock wieder um so viele Zeilen nach unten gedrückt, wie Zeilen durch leere Adressfelder nach oben rutschen.

Beispiel:
In der Zeile mit dem Straßennamen (Feldname: STR) gibt es einen Feldbefehl versteckter Absatz mit der Bedingung
!STR bzw. NOT STR
Vor den Adressblock kommt nun eine Leerzeile mit nichts als einem Feldbefehl versteckter Absatz, dessen Bedingung lautet:
STR
was soviel bedeutet wie: Absatz unterdrücken, wenn es eine Straße gibt (denn dann ist ja die Zeile mit dem Feld STR vorhanden).

3. Den Adressblock als Autotext speichern

Wenn Sie diesen Adressblock als AutoText speichern, können Sie ihn durch Aufruf des entsprechenden Kürzels in jedes beliebige Dokument einfügen.

4. Den Adressblock auch für Etiketten verwenden

Wenn sie den Adressblock auch für AdressEtiketten benutzen möchten, so müssen sie ihn noch um den Feldbefehl NächsterDatensatz ergänzen.


KategorieWriter KategorieHowto

  1. Statt der Tabelle kann natürlich auch eine Abfrage verwendet werden. (1)

  2. Wenn Sie öfter mal die Adress-Datenbank austauschen müssen, die verschiedenen Datenbanken aber nicht immer die gleichen Feldbezeichnungen verwenden, sollten sie sich die Seite AliasInAbfragen ansehen. (2)


LizenzBedingungen | AnbieterKennzeichnung | DatenschutzErklärung | Stand: 2013-04-28