Hallo,
hoffe es kann mir jemand bei folgendem Problem helfen.
Verwendet wird ms-word 2000 mit externer nicht manipulierbarer Datenquelle.
Es wird das Seriendruckfeld {anre} übergeben. Inhalt dieses Feldes ist „Sehr geehrte Frau Mustermann,“ oder „Sehr geehrter Herr Mustermann,“, wobei die Namen unterschiedlich sein können.
Ich möchte nun folgendes hinterlegen: Wenn {anre} mit „Sehr geehrte Frau“ beginnt, dann soll „Hi“ übergeben + Rest des Strings also der Name werden.
Beispiel: statt „Sehr geehrte Frau Mustermann“ jetzt „Hi Frau Mustermann“
Wenn {anre} mit „Sehr geehrter Herr“ beginnt, dann soll „Hallo“ übergeben + Rest des Strings also der Name werden.
Beispiel: statt „Sehr geehrter Herr Mustermann“ jezt „Hallo Herr Mustermann“
Gibt es eine Möglichkeit?
Vielen Dank für Eure Unterstützung.
hallo
leider bietet word keine möglichkeit, in feldern benutzerdefinierte funktionen zu verwenden. habe ich mir schon oft gewünscht. du kannst also nicht den inhalt eines feldes mit eigenen methoden verändern. standardmethoden zur stringverarbeitung gibt es auch keine. so auf die schnelle kannst du dein problem also nicht lösen.
3 lösungsansätze:
-
die externe datenquelle mit einem kleinen hilfsskript anzapfen und in eine normale textdatei schreiben. dabei automatisch den inhalt bestimmter felder splitten. dann diese textdatei als datenquelle heranziehen
-
die daten nicht per seriendruckfunktion sondern per makro in das dokument übernehmen - bzw. nach dem seriendruck per makro und „suchen und ersetzen“ den text so modifizieren, dass er deinen anforderungen genügt. (suchen-und-ersetzen im anschluss ist leichter realisierbar)
-
den ersteller der datenquelle dazu überreden, dass er sinnvolle werte für die anrede liefert. besser wäre es, in „anrede“ steht nur der teil „sehr geehrter herr“ drinnen und ein eigenes feld mit dem namen. dann ist man weitaus flexibler. meist ist es sogar besser, in der daten quelle steht nur das geschlecht des empfängers drinnen (wobei man einen eigenen wert für firmen, organisationen etc. einplannen sollte, nicht nur „W“ und „M“). dann kann man sich pro dokument aussuchen, wie die anrede sein soll. einheitliche formulierungen kann man über textbausteine realisieren.
lg
erwin
hoffe es kann mir jemand bei folgendem Problem helfen.
Verwendet wird ms-word 2000 mit externer nicht manipulierbarer
Datenquelle.
Hallo neil,
was ist das für eine Datenquelle?
Gruß
Reinhard
Hallo Reinhard,
es geht um asci-File. Diese ist leider nicht manipulierbar, da sie je nach dem welcher Kunde angeschrieben werden soll, immer wieder frisch durch eine unix-anwendung erzeugt wird.
Hallo,
vielen Dank für die verschiedenen Lösungswege, aber leider kommt davon keine in Frage.
3 lösungsansätze:
- die externe datenquelle mit einem kleinen hilfsskript
anzapfen und in eine normale textdatei schreiben. dabei
automatisch den inhalt bestimmter felder splitten. dann diese
textdatei als datenquelle heranziehen
Da dieses Skript nicht von mir selbst, sondern nicht affine EDV-Anwender jedes mal starten müßten, kann diese Lösung nicht angewandt werden.
- die daten nicht per seriendruckfunktion sondern per makro
in das dokument übernehmen - bzw. nach dem seriendruck per
makro und „suchen und ersetzen“ den text so modifizieren, dass
er deinen anforderungen genügt. (suchen-und-ersetzen im
anschluss ist leichter realisierbar)
Wenn hier das Makro auf einen Fehler stößt, wird sich der Anwender „erschrecken“.
- den ersteller der datenquelle dazu überreden, dass er
sinnvolle werte für die anrede liefert. besser wäre es, in
„anrede“ steht nur der teil „sehr geehrter herr“ drinnen und
ein eigenes feld mit dem namen. dann ist man weitaus
flexibler. meist ist es sogar besser, in der daten quelle
steht nur das geschlecht des empfängers drinnen (wobei man
einen eigenen wert für firmen, organisationen etc. einplannen
sollte, nicht nur „W“ und „M“). dann kann man sich pro
dokument aussuchen, wie die anrede sein soll. einheitliche
formulierungen kann man über textbausteine realisieren.
ist in die Wege geleitet worden, aber mit einer Lösung ist nicht zu rechnen, da andere prioritäten gesetzt wurden.
lg
erwin
Habe eine simple Teillösung gefunden.
ich muss lediglich folgende WENN-DANN-Funktion hinterlegen.
IF {anre} = „Sehr geehrte Frau*“ „Hi, Frau“ „Hallo, Herr“
Jetzt müßte ich nur noch den Namen aus dem Feld {anre} „ausschneiden“, aber wie?
es geht um asci-File. Diese ist leider nicht manipulierbar, da
sie je nach dem welcher Kunde angeschrieben werden soll, immer
wieder frisch durch eine unix-anwendung erzeugt wird.
Hallo Neil,
ich sehe da minimum zwei Wege. Beides Makros.
Einmal komplett alles durch einen Klick auf einen Button starten, also den kompletten Seriendruck. Dabei wird dann Code gestartet der deine Datenquelle auswertet, wie gewünscht umformt und als temporäre datei speichert und diese dient dann als Datenquelle.
Oder, einfacher, mit Klick auf einen Button diese Ascii-Datei wie gewünscht umformen, dann wie gewohnt den Seriendruck durchführen.
Gruß
Reinhard
hallo Reinhard,
werde mal die zweite Variante morgen ausprobieren.
Vielen Dank nochmal.