Autor |
Beitrag |
Sahroma
      
Beiträge: 66
Erhaltene Danke: 1
Delphi 10 Seattle, Delphi 10.1 Berlin
|
Verfasst: Di 07.07.15 10:23
Hi ich hoffe in diesem Forum gibt es ein paar Leute die sich mit Serienbrief Befehle auskennen.
Habe mit folgenden Befehl Probleme:
{MERGEFIELDtestNamen\*MERGEFORMAT}{if{MERGEFIELDtestNamen\*MERGEFORMAT}="""<<RowDelete>>}
Dieser Befehl soll ja schauen ob die variable "testNamen" Inhalt hat, wenn nicht soll er die Reihe löschen. Aber stattdessen schreibt er wenn die Variable leer ist einfach <<RowDelete>> rein. Ich habe keine Ahnung warum er <<RowDelete>> reinschreibt statt zu löschen.
Habt ihr irgendwelche Ideen?
Gruß
Sahroma
|
|
Sestriel
Hält's aus hier
Beiträge: 11
|
Verfasst: Di 07.07.15 11:12
Hallo,
ich kann leider nur Vermuten, da ich noch nie damit gearbeitet habe und Google ach ziemlich wenig darüber ausspuckt.
Eventuell <<Row Delete>> versuchen ?
Könnten die drei Anführungszeichen eventuell etwas damit zu tun haben ?
|
|
baumina
      
Beiträge: 305
Erhaltene Danke: 61
Win 7
Delphi 10.2 Tokyo Enterprise
|
Verfasst: Di 07.07.15 11:23
|
|
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 07.07.15 11:29
- Nachträglich durch die Entwickler-Ecke gelöscht -
|
|
Sahroma 
      
Beiträge: 66
Erhaltene Danke: 1
Delphi 10 Seattle, Delphi 10.1 Berlin
|
Verfasst: Di 07.07.15 11:39
Leider haben alle 3 Vorschläge nichts geholfen.
@Frühlingsrolle
Den selben Befehl habe ich in einem anderen Serienbrief genutzt und da funktioniert er einwandfrei. Das ist ja mein Dilemmer wo ich habe. Sry hätte ich vielleicht noch am Anfang erwähnen sollen. 
|
|
baumina
      
Beiträge: 305
Erhaltene Danke: 61
Win 7
Delphi 10.2 Tokyo Enterprise
|
Verfasst: Di 07.07.15 11:49
Da RowDelete nichts standardmäßiges von VBA ist, gehe ich davon aus, dass dies evtl. ein Prozeduraufruf sein könnte. Sollte es diese Prozedur in dem anderen Worddokument haben und in diesem nicht, wäre das die Erklärung warum es nicht geht.
|
|
Sahroma 
      
Beiträge: 66
Erhaltene Danke: 1
Delphi 10 Seattle, Delphi 10.1 Berlin
|
Verfasst: Di 07.07.15 13:10
baumina hat folgendes geschrieben : | Da RowDelete nichts standardmäßiges von VBA ist, gehe ich davon aus, dass dies evtl. ein Prozeduraufruf sein könnte. Sollte es diese Prozedur in dem anderen Worddokument haben und in diesem nicht, wäre das die Erklärung warum es nicht geht. |
RowDelete ist bei beiden vorhanden.
Ich weiß echt nicht mehr weiter. Wenn jemand noch Ideen hat einfach her damit. Ich weiß keine mehr.
|
|
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 07.07.15 13:33
- Nachträglich durch die Entwickler-Ecke gelöscht -
|
|
Sahroma 
      
Beiträge: 66
Erhaltene Danke: 1
Delphi 10 Seattle, Delphi 10.1 Berlin
|
Verfasst: Di 07.07.15 13:51
Ich versuche es mal etwas genauer zu erklären. Also der Befehl steht in einer Tabelle in Word. Diese besteht aus 3 Spalten und 2 Zeilen. Der Befehl ist dafür da das wenn die Variable "testNamen" leer ist die komplette Zeile in der Tabelle gelöscht wird. Und wie gesagt dieser Befehl funktioniert in einem anderen Serienbrief einwandfrei. Dort ist der Befehl auch in einer Tabelle. Habe beide Varianten schon nebeneinander gestellt um zu vergleichen ob diese stimmen. Sie stimmen 1 zu 1 überein.
|
|
baumina
      
Beiträge: 305
Erhaltene Danke: 61
Win 7
Delphi 10.2 Tokyo Enterprise
|
Verfasst: Di 07.07.15 15:31
Also ich denke ja, wenn man da mal vernünftige Leerzeichen einfügt, dass da ein " zuviel ist.
{MERGEFIELDtestNamen\*MERGEFORMAT}{if {MERGEFIELDtestNamen\*MERGEFORMAT}="" "<<RowDelete>>}
|
|
Sahroma 
      
Beiträge: 66
Erhaltene Danke: 1
Delphi 10 Seattle, Delphi 10.1 Berlin
|
Verfasst: Di 07.07.15 16:09
Das habe ich bereits gemerkt. Mit einem negativen Ergebnis bzw. es hat sich nichts verändert. 
|
|
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Di 07.07.15 17:49
- Nachträglich durch die Entwickler-Ecke gelöscht -
|
|