Wie kann ich in einem Serienbrief unnötige Absätze vermeiden, wenn bei einer Wenn-Dann-Abfrage der Wert leer ist?

4 Antworten

Hallo,

ich hatte mittlerweile so viele andere Dinge um die Ohren, dass ich mich erst heute wieder diesem Problem widmen konnte. Leider mache ich wohl immer noch etwas falsch. Es werden weiterhin ungewünschte Leerzeilen / Absätze produziert.

Könnte ich Dir mal die Worddatei und eine dazugehörige Exceltabelle mit einigen Dummy-Datensätzen zukommen lassen?

Beste Grüße

Michael

Gerade ist mir mein Fehler aufgefallen. Ich hatte im Dokument noch Absätze zwischen den einzelnen Abfragen eingebaut. Nachdem ich sie rausgenommen habe, verschwinden die unnötigen Leerzeilen.

Aber nun habe ich ein anderes Problem. Wenn zwei Abfragen zutreffen, wird der Text für die zweite Abfrage direkt an den der ersten angehängt und nicht, wie gewünscht, in eine neue Zeile. Ich hänge einen Screenshot des Serienbriefes an. Von dem Ergebnis habe ich leider keinen Screenshot hinbekommen, aber es sieht so aus:


.....
Es fehlt:

- der Nachweis der Hochschulzugangsberechtigung gem. § 9 Abs. 2 - 4 BbgHG usw.- eine eigene Film-/Videoarbeit dokumentarer, fiktiver oder experimenteller Art, die in eigener Regieverantwortung realisiert wurde, mit einer Gesamtlänge von max. 10 min

Aus diesen Gründen kann Ihre Bewerbung .......

Der Teil - eine eigene Film-/Videoarbeit...  sollte in einer neuen Zeile beginnen. Wie kann ich das erreichen?


Schon jetzt danke für deine Mühe.

Beste Grüße

Michael

 - (Microsoft Word, Serienbrief)
BerchGerch  05.04.2016, 16:52

Hallo Michael,

ich habe mir den Screenshot runtergeladen und werde mich damit befassen, sobald ich kann.

Das kann aber ein Weilchen dauern, da ich momentan viel um die Ohren habe. Ich hoffe, ich komme bald dazu.

Gruß, BerchGerch

0
BerchGerch  05.04.2016, 18:48

Hallo Michael,

das kann so auch gar nicht funktionieren. Du versuchst ja, die Schalter \f und \b in deinem Beispielbild oben, an die IF-Funktion zu koppeln – und das geht leider nicht. Die Schalter \f und \b funktionieren nur nach Seriendruckfeldern bzw. MERGEFIELD-Feldfunktionen.

Eine Lösung wäre folgende:

Du könntest die Sätze, von denen du willst, dass sie erscheinen (oder auch nicht), in deiner Datenquelle in eigene Seriendruckfelder einfügen, also legst du z. B. in deiner Datenquelle ein Seriendruckfeld namens Satz_Film_Video an, in den du den Satz

- eine eigene Film-/Videoarbeit dokumentarer, fiktiver oder experimenteller Art, die in eigener Regieverantwortung realisiert wurde, mit einer Gesamtlänge von max. 10 min

(Wieso ist das min hier eigentlich klein geschrieben?)

einfügst.

Die entsprechende IF-Funktion sieht dann so aus:

{ IF { MERGEFIELD Film_Video } = "fehlt" "{ MERGEFIELD Satz_Film_Video } \ b "¶
" \f "¶
" }" "" }

Dann hast du übrigens immer einen (zusätzlichen) Absatz zwischen den Sätzen, da du ja jeweils vor und nach einem Satz einen Absatz einfügen lässt. Wenn du das nicht willst, musst du jeweils entweder den Parameter \b "" oder den Parameter \f "" entfernen.

Ich hoffe, das hilft dir.

Gruß, BerchGerch

0
BerchGerch  05.04.2016, 19:09
@BerchGerch
Korrektur

:-) :-) :-) Jetzt war ich gerade so fixiert auf Seriendruckfelder, dass ich selbst den Wald vor lauter Bäumen nicht mehr gesehen habe.

Du musst natürlich nicht erst extra neue Seriendruckfelder für deine Sätze erstellen, um in diese dann bei Bedarf mittels der Schalter Absätze reinzubekommen.

Es reicht vollkommen aus, wenn du die Absätze jeweils innerhalb der Anführungszeichen vor bzw. nach dem entsprechenden Satz in deine IF-Funktion einfügst, so dass diese dann beispielsweise so ausschaut:

{ IF { MERGEFIELD Film_Video } = "fehlt" "¶
- eine eigene Film-/Videoarbeit dokumentarer, fiktiver oder
experimenteller Art, die in eigener Regieverantwortung realisiert wurde, mit einer Gesamtlänge von max. 10 min¶
" "" }

Die Absätze werden ja auch dann nur eingefügt, wenn der Satz überhaupt eingefügt wird. Die Schalter \b und f\ kannst du in deinem Fall also komplett entfernen.

Warum einfach, wenn's auch umständlich geht :-)

Viele Grüße, BerchGerch

0

Hallo,

es hat wieder ein paar Tage gedauert, bis ich mich mit Deinem Vorschlag beschäftigen konnte. Es funktioniert einwandfrei. Tausend Dank nochmal.

Beste Grüße

Michael

BerchGerch  14.04.2016, 06:57

Hallo Michael,

sehr gerne! Freut mich, dass ich dir helfen konnte :-)

Gruß, BerchGerch

PS: Nur für dich zur Information (für die Zukunft)

Wenn du bei einer bereits gegebenen Antwort rechts unten auf Kommentieren klickst, kannst du einen Kommentar (das sind die grau unterlegten Antwortfelder) zu dieser Antwort verfassen und musst nicht immer "neue" Antworten zu der Frage verfassen.

Willst du einen Kommentar zu einem Kommentar verfassen, klicke in dem Kommentar rechts unten auf die drei dicken Punkte und wähle Kommentieren.

Auf diese Art und Weise weiß man besser, worauf du dich gerade beziehst und vor allem wird der Verfasser einer Antwort oder eines Kommentars per Mail über deinen Kommentar benachrichtigt, so dass er weiß, dass du etwas geschrieben hast, und man kann so schneller reagieren.

Dies ist hingegen nicht der Fall, wenn du neue Antworten einstellst, also die Kommentar-Funktion nicht verwendest. Hier findet in der Regel keine Benachrichtigung per Mail statt.

Die einzige Einschränkung der Kommentarfunktion ist, dass man an einen Kommentar keine Bilder anhängen kann. Willst du also zwingend ein Bild anhängen, musst du eine neue Antwort verfassen und kannst die Kommentar-Funktion nicht verwenden.

0

Hallo,

wenn ich dich richtig verstehe, erscheint ein Absatz zuviel, den du nicht brauchst, wenn das Feld mit dem Satz leer ist, also der Satz nicht erscheint.

Ich vermute, dass du nach der Feldfunktion einen Absatz im Dokument hast.

Daher müsste man den Absatz, der zuviel erscheint, wenn das Feld mit dem Satz leer ist, also genau diesen Absatz nach der Feldfunktion, im Dokument entfernen.

Gleichzeitig müsstest du in die Feldfunktion dieses Seriendruckfeldes, das sich auf den Satz bezieht, der manchmal nicht erscheint, den Zusatzparameter \f eintragen, gefolgt von einem Leerzeichen, einem Anführungszeichen, dann ein Absatz und dann noch mal ein Anführungszeichen.

Insgesamt müsste deine Feldfunktion also vermutlich so aussehen:

{ MERGEFIELD Feldname \f "¶
" }

Zur Erklärung:

¶ = Dies soll einen Absatz symbolisieren. An dieser Stelle also einfach einmal die Entertaste drücken.

Feldname = Der Name des Feldes, auf das sich das Seriendruckfeld  bezieht.

\f "" = Der Parameter \f gibt an, dass das, was hinterher diesem Parameter in den Anführungszeichen steht, nur dann eingefügt wird, wenn das Seriendruckfeld auch einen Inhalt hat.

Da du über den Parameter \f innerhalb der Anführungszeichen einen Absatz einfügst, wird der Absatz immer nur dann ins Dokument eingefügt, wenn das entsprechende Feld auch einen Inhalt hat.

Das heißt, sofern ich dich richtig verstanden habe, dass der Absatz nur dann eingefügt wird, wenn dein Satz auch im Dokument erscheint, erscheint er nicht, wird auch der Absatz nicht eingefügt.

Dann müsste eigentlich vor dem nächsten Absatz nur noch eine Leerzeile stehen und nicht zwei, wie du schreibst.

Ich hoffe, das ist das, was du meintest. Falls nicht, melde dich noch mal, aber dann müsstest du eventuell einen oder mehrere Screenshots hochladen, so dass ich dein Problem sehen kann und vor allem auch die konkrete Feldfunktion erkennen kann. Und dann wäre es auch hilfreich, wenn du deine Wenn-Dann-Abfrage ein wenig näher erläutern könntest.

Eine Rückmeldung wäre nett.

Gruß, BerchGerch

Woher ich das weiß:eigene Erfahrung – Ich arbeite seit 25 Jahren nahezu täglich mit Word.
MF2253 
Fragesteller
 15.03.2016, 14:30

Danke für die Antwort. Das war schon sehr hilfreich. Allerdings habe ich jetzt ein neues Problem.
Mein Ziel ist, dass ich in einem Serienbrief zu fünf Kriterien untereinander einen Satz schreiben will, wenn in dem entsprechenden Excel-Feld ein bestimmter Wert steht, oder nichts, wenn das Excel-Feld diesen Wert nicht hat.

Überflüssige Absätze sollen vermieden werden, aber es soll auch jeder Satz in einer neuen Zeile beginnen. Mit dem von Dir beschriebenen Vorgehen habe ich jetzt zwar die Leerzeilen vermieden, aber leider beginnt nicht jeder Satz in einer neuen Zeile. Hast Du dafür auch so eine gute Erklärung?

1
BerchGerch  15.03.2016, 17:28
@MF2253

Hallo,

es gibt auch einen Parameter, um immer nur dann etwas vor einem Seriendruckfeld einzufügen, wenn ein Seriendruckfeld nicht leer ist; dieser Parameter lautet \b "" und funktioniert ganz genauso wie der Parameter \f "".

Deine Formel könnte dann so aussehen:

{ MERGEFIELD Feldname \b "¶
" }

Über diese Formel würde immer nur dann ein Absatz eingefügt, wenn das Feld einen Inhalt hat. Somit würde der Satz in einer neuen Zeile stehen.

Man kann übrigens auch beide Parameter zusammen für ein Feld verwenden, wenn das nötig wäre.

Ein Beispiel: Die Funktion

{ MERGEFIELD Feldname \b "¶
" \f "¶
" }

würde jeweils immer nur dann vor und nach einem Seriendruckfeld einen Absatz erzeugen, wenn das Feld nicht leer wäre.

Hilft dir das? Oder meinst du etwas anderes?

Gruß, BerchGerch

1
MF2253 
Fragesteller
 15.03.2016, 17:34
@BerchGerch

Danke. Genau das meine ich. Werde es mal probieren und hoffen, dass es funktioniert. Nochmal danke für Deine gute und hilfreiche Erklärung. Wenn es nicht funzt, melde ich mich nochmal, dann vielleicht mit Screenshot etc. Aber Dein erster Tipp hat ja auch geholfen und war vor allem verständlich. Daher bin ich zuversichtlich.
Beste Grüße
Michael

1