Seite 1 von 1

[gelöst] Anrede in Serienbrief, Bedingter Text kann nur zwei Fälle

Verfasst: Mi 8. Sep 2021, 16:05
von pixel
Hallo zusammen,

für Serienbriefe nutze ich immer Calc-Tabellen. Dort habe ich die Spalten für den Ansprechpartner und dessen Anrede (Herr/Frau).

Im Briefdokument habe ich Bedingten Text:

Code: Alles auswählen

[Adressen.Tabelle1.Anrede]=="Frau"

Dann: Guten Tag Frau
Sonst: Guten Tag Herr
Das klappt auch. Es kommt jedoch vor das es gar keinen Ansprechpartner gibt, also die Feld Anrede in der Tabelle leer ist. Dann gibt er natürlich "Guten Tag Herr" aus.

Gibt es hier eventuell noch eine andere Technik um drei Varianten abzubilden?

Beste Grüße
pixel

Re: Anrede in Serienbrief, Bedingter Text kann nur zwei Fälle

Verfasst: Mi 8. Sep 2021, 17:24
von Pit Zyclade
Ich nutze zwar die Datenbank, aber das Prinzip ist doch dasselbe. Ich habe Spalte "Anrede" und bedingten Text Bedingung Anrede EQ 2 , dann 'Sehr geehrte Frau', Anrede EQ 1 , dann 'Sehr geehrter Herr' oder Anrede EQ 0, dann 'Sehr geehrtes Mitglied' . Und das kann man erweitern, z.B. Anrede EQ 3 ,dann 'Sehr geehrte Familie' , Anrede EQ 4, dann "Sehr geehrte Interessenten' usw.

Zweckmäßigerweise schreibt man dann (nicht zu druckende) Kommentare in das Dokument, damit man nicht die Übersicht verliehrt, was was bewirkt
oder
STRG+F9 -> dann wird der bedingte Text in dem Briefentwurf sichtbar.

Re: Anrede in Serienbrief, Bedingter Text kann nur zwei Fälle

Verfasst: Do 9. Sep 2021, 09:31
von pixel
ich kann leider nicht ganz folgen wie ich das umsetzen kann. Könntest Du mir genauer erklären wie ich das mache?

Re: Anrede in Serienbrief, Bedingter Text kann nur zwei Fälle

Verfasst: Do 9. Sep 2021, 10:20
von Pit Zyclade
Du hast Recht, die eingebaute Hilfe ist keine gute zu diesem Problem.
Ich habe sogar bemerkt, dass ein Teil noch in Englisch ist, also gar nicht fertig wurde.
Dazu kommt, dass man, wenn man auf das bestehende Feld "bdingter Text ..." doppelklickt, zwar sich die Tafel Feldbefehl bearbeiten öffnet, aber man nur die bestehenden Möglichkeiten ändern kann.
Man kann nicht erweitern und sogar das Tastenfeld "Bearbeiten" unten bleibt grau und funktionslos.

Also gehe folgendermaßen vor:
1. In der Datentabelle ändere die Spalte "Anrede" in 0 anstelle Familie , 1 anstelle Herr, 2 anstelle Frau usw. wie du willst
2. Im writer-Dokument strg+F9 , so daß die bestehenden bedingten Felder zu sehen sind.
3. Ändere die bestehenden bedingten Felder durch Doppelklick auf neue Werte,
z.B. statt Anrede EQ "Herr" in Anrede EQ 1
4. Für die sinnvolle Erweiterung gehe genau vor den ersten diesbezüglichen "Bedingter Text..." und gehe über Einfügen->Feldbefehl->weitere Feldbefehle->Reiter Funktionen->Bedingter Text und unter Bedingung füge ein Anrede EQ 0, unter Dann füge Familie ein.
Analog kannst du alles ändern oder erweitern, sowohl unter Adresse oder in der Anredezeile im Brief. Auch löschen ist einfach: den betreffenden bedingten Text einmal anklicken und folglich markieren und dann Taste Entf.

Im Resultat entsteht dann eine Reihe von solchen bedingten Texten nacheinander ohne Leerstelle dazwischen, die sich infolge der differenten Bedingungen gegenseitig ausschließen.

Re: Anrede in Serienbrief, Bedingter Text kann nur zwei Fälle

Verfasst: Do 9. Sep 2021, 11:58
von miesepeter
Hallo,

im Archiv www.ooowiki.de werden hier verschiedene Fälle dargestellt ("Noch_mehr_Fallunterscheidungen_bei_der_Anrede") ...
Link: http://www.ooowiki.de/DatenUndTextMisch ... der_Anrede
Vielleicht hilft's ja... ;-)

Re: Anrede in Serienbrief, Bedingter Text kann nur zwei Fälle

Verfasst: Mo 13. Sep 2021, 11:41
von pixel
Pit Zyclade hat geschrieben:
Do 9. Sep 2021, 10:20
Du hast Recht, die eingebaute Hilfe ist keine gute zu diesem Problem.
Ich habe sogar bemerkt, dass ein Teil noch in Englisch ist, also gar nicht fertig wurde.
Dazu kommt, dass man, wenn man auf das bestehende Feld "bdingter Text ..." doppelklickt, zwar sich die Tafel Feldbefehl bearbeiten öffnet, aber man nur die bestehenden Möglichkeiten ändern kann.
Man kann nicht erweitern und sogar das Tastenfeld "Bearbeiten" unten bleibt grau und funktionslos.

Also gehe folgendermaßen vor:
1. In der Datentabelle ändere die Spalte "Anrede" in 0 anstelle Familie , 1 anstelle Herr, 2 anstelle Frau usw. wie du willst
2. Im writer-Dokument strg+F9 , so daß die bestehenden bedingten Felder zu sehen sind.
3. Ändere die bestehenden bedingten Felder durch Doppelklick auf neue Werte,
z.B. statt Anrede EQ "Herr" in Anrede EQ 1
4. Für die sinnvolle Erweiterung gehe genau vor den ersten diesbezüglichen "Bedingter Text..." und gehe über Einfügen->Feldbefehl->weitere Feldbefehle->Reiter Funktionen->Bedingter Text und unter Bedingung füge ein Anrede EQ 0, unter Dann füge Familie ein.
Analog kannst du alles ändern oder erweitern, sowohl unter Adresse oder in der Anredezeile im Brief. Auch löschen ist einfach: den betreffenden bedingten Text einmal anklicken und folglich markieren und dann Taste Entf.

Im Resultat entsteht dann eine Reihe von solchen bedingten Texten nacheinander ohne Leerstelle dazwischen, die sich infolge der differenten Bedingungen gegenseitig ausschließen.
Ok, habe ich soweit verstanden. Die Bedingen werden hintereinander definiert, ohne "Dann ..." Das klappt auch und ich habe schon einiges durch getestet.

Zunächst habe ich es wie von dir beschrieben mit 1,2,3 in der Datenquelle / Spalte Anrede probiert. Hier habe ich einfach 1=Frau, 2=GutenHerr, 3=Keiner angenommen bzw festgelegt.

Da dies jedoch für die Dame die das später mach soll nicht ganz so komfortabel ist habe ich es wieder mit dem Text (in der Spalte Anrede) Frau, Herr oder Keiner gemacht. Wo liegt der Vorteil wenn ich dies mit Dezimalzahlen mache?

In der Datenquelle gibt es noch eine Spalte Ansprechpartner. Sobald hier ein Ansprechpartner eingetragen ist muss in der Spalte "Anrede" Frau oder Herr stehen. Ist Ansprechpartner leer steht in Anrede "Keiner"
Am Ende soll im Seriendokument folgendes stehen:

[Andrede = Frau]
Guten Tag Frau <Ansprechpartner>,

[Andrede = Herr]
Guten Tag Herr <Ansprechpartner>,

[Andrede = Keiner]
Guten Tag,

Mir ist durchaus klar dass bei diesem Beispielt "Guten Tag" statisch ist und ich es einfacher haben könnte. Ich wollte aber mal die Logik besser kennen lernen falls es mal komplexer wird.

Egal mit welcher Variante (Dezimal oder String) ich es mache vom Prinzip her funktioniert es. Ich habe folgende Bedingungen eingefügt:

Code: Alles auswählen

Bedingter Text [Adressliste.Tabelle1.Anrede]=="Frau" Guten Tag Frau :Bedingter Text [Adressliste.Tabelle1.Anrede]=="Herr" Guten Tag Herr :Bedingter Text [Adressliste.Tabelle1.Anrede]=="Keine" Guten Tag :,
Alles ohne Leerzeichen hintereinander. Dahinter ist wie oben zu sehen statisch ein Komma im Dokument. Bei Herr und Frau ist alles wunderbar. Bei "Keine" wird ein Leerzeichen vor dem Komma eingefüht. Also:

Guten Tag ,

Lässt sich dies irgendwie unterdrücken?

Beste Grüße
pixel

Re: Anrede in Serienbrief, Bedingter Text kann nur zwei Fälle

Verfasst: Mo 13. Sep 2021, 13:01
von Pit Zyclade
Ja, verstehe ich. Aber warum steht "Guten Tag" im bedingten Text? Wenn du in jedem Fall mit "Guten Tag" anreden willst, dann kann doch dieser Teil bereits im Brieftext stehen. Die variablen, also bedingten Teile müssen doch sein:
" Herr " oder " Frau " oder "" ,
danach kommt dann jeweils der "<Name>,"
wobei das Komma ohne Leerstelle angefügt wird. Wenn der Name leer ist, gibt es m.W. auch keine Leerstelle.
Man muß überlegen, woher die störende Leerstelle in deinem Fall kommt.

Nach meinen Experimenten ist es eine Leerstelle zwischen Vorname und Name.
Da muß irgendwie eine Bedingung rein und da man ganz sicher nicht alle Vornamen in der Adressliste sinnlos bearbeiten will, fügt man einen bedingten Text für eine Leerstelle dazwischen, die von der Existenz eines Vornamens abhängig ist.

Zur Demonstration füge ich hier vier Dateien ein:
writer - Serienbrief_Anrede_Text.odt
Serienbrief-Quelle mit Anrede durch bedingten Text "Anrede"
(19.43 KiB) 250-mal heruntergeladen
writer - Serienbrief_Anrede_Code.odt
Serienbrief-Quelle mit Anrede durch bedingten Text "Code"
(19.62 KiB) 249-mal heruntergeladen
writer - Serienbrief_Anrede - Ausdruck aller.odt
Diese writer-Datei zeigt das identische Serien-Druck-Resultat beider Serienbrief-Quellen
(16.62 KiB) 170-mal heruntergeladen
DatenTabelle_für_Serienbrief_Anrede.ods
Datentabelle für Serienbrief_Anrede
(11.11 KiB) 183-mal heruntergeladen

Re: Anrede in Serienbrief, Bedingter Text kann nur zwei Fälle

Verfasst: Fr 17. Sep 2021, 09:21
von Pit Zyclade
Ich habe meinen letzten Beitrag noch einmal überarbeitet.
Nun sind beide Möglichkeiten für den bedingten Text für die Anrede, nämlich die Steuerung durch einen Code bzw. durch die textliche Gestaltung der Anrede in zwei differenten Quelltextdateien vorhanden. Die Datentabelle und der Ausdruck der Serienbriefe sind hingegen identisch.

Darüberhinaus wurde demonstriert, wie die Gestaltung auch bei fehlendem Namen realisiert werden kann. Die nur 5 fiktive Personen um fassende Datentabelle soll auch eigenes Experimentieren ermöglichen.
Viel Freude bei der Ausgestaltung eigener Ziele!

Re: Anrede in Serienbrief, Bedingter Text kann nur zwei Fälle

Verfasst: Di 21. Sep 2021, 12:15
von pixel
So habe ich es hin bekommen. Danke für die ausführliche Hilfe!

Ich habe jetzt lediglich noch das Problem dass ich die registrierte Datenquelle nicht über einen aktuellen Pfad einbinden kann. Da dies jedoch nicht zum Beitrag-Titel passt mache ich einen neuen Beitrag auf.