Leerzeile im Adressfeld

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
lydia1002
Rookie
Rookie
Beiträge: 1
Registriert: Di, 27. Mai 2014 8:32

Leerzeile im Adressfeld

Beitrag von lydia1002 »

Hallo, ich habe in unserem ERP-System ja die Möglichkeit vorgefertigte Word-Vorlagen zu verwenden.
Jetzt ist es so, wenn ich einen Kunden anlege und der Firmenname zu lange ist, dann muss ich den Rest in die Zusatzzeile schreiben.
Ist ja weiters keine Problem, jedoch wenn ich dort nichts einfüge, dann erscheint mir jedes Mal im Word eine Leerzeile zwischen Firmenname und Ansprechperson. Lt. DIN sollt dort aber keine Leerzeile sein.
Jetzt meine Frage ich suche nach einer if Progammierung, wo ich definieren kann, wenn in diesem Feld nichts stehen sollte, dass es ignoriert wird.
Kann mir da jemand helfen.? Dies ist die Programmierzeile:
{ DDE WAWISQL DdeServerAdresse DdeAdresseZusatz \*MERGEFORMAT }

Danke für Eure Unterstützung
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von Herbert »

Du kannst wohl Felder leer dastehen lassen aber nicht die ganze Zeile ausblenden.
Ich löse das von dir beschriebene Problem so, dass ich in dasselbe Feld mit einem CRLF die Zusatzzeile schreibe, so umgehst du das Problem.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von Martin Altmann »

Alternativ kann man den Umbruch natürlich auch in Winword vornehen lassen!
Einfach eine vernünftige Vorlage in WinWord erstellen und schon hat man das Problem nicht. Die Felder kommen in eine Textbox, die die richtige Größe und Position innerhalb des Bereiches des Fensters im Umschlag hat. Und wenn dann in einer Zeile (Feld) zu langer Text steht, wird er in WinWord umbrochen.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von Herbert »

...was in einer Adresse nicht unbedingt attraktiv erscheinen kann!
Aber sonst hast du recht. Klar.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von Koverhage »

Herbert,

wenn man wie Martin vorschlug, ein Textfeld benutzt funktioniert das wunderbar. hast Du das jemals ausprobiert ?

Es gibt noch die folgende Möglichkeit:
Ein Textfeld und dann cTextFeld := iif(empty(bez2)," ",chr(13)+bez2)
Dies hat allerdings den Nachteil, das der Text im Zweifel um eine Zeile nach unten verschoben wird.

Deshalb ist ein Textfeld die beste Lösung. Man muss nur dafür sorgen das dieses groß genug ist.
Gruß
Klaus
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: Leerzeile im Adressfeld

Beitrag von AUGE_OHR »

lydia1002 hat geschrieben:Jetzt meine Frage ich suche nach einer if Progammierung, wo ich definieren kann, wenn in diesem Feld nichts stehen sollte, dass es ignoriert wird.
Kann mir da jemand helfen.? Dies ist die Programmierzeile:
{ DDE WAWISQL DdeServerAdresse DdeAdresseZusatz \*MERGEFORMAT }
eine "IF" Abfrage wäre unter Word eine "WENN / DANN" Konstruktion.

Frage : wird per DDE aus eine DBF ein "Feld" eingefügt ?

Wenn ja müsste es IMHO statt "MERGEFORMAT" -> "MERGEFIELD" sein

Code: Alles auswählen

{MERGEFIELD Zusatzzeile \f ""}{MERGEFIELD Strasse}
hier wird das Feld Zusatzzeile nur eingefügt wenn es nicht leer ist.

! Achtung : wenn ein Leerzeichen vorhanden ist dann ist es NICHT leer !
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von brandelh »

Frage, muss dein Worddokument das selbst erzeugen oder ein steuerndes Xbase++ Programm (ActiveX) ?
Gruß
Hubert
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von Herbert »

Koverhage hat geschrieben:wenn man wie Martin vorschlug, ein Textfeld benutzt funktioniert das wunderbar. hast Du das jemals ausprobiert ?
Klaus, ich habe das Problem ja nicht... mein Hinweis ging einzig dahin, dass Martins Aussage, "Word macht den Umruch" für Adressen nicht immer taugt, da Word selbsständig umbricht.
Koverhage hat geschrieben:Ein Textfeld und dann cTextFeld := iif(empty(bez2)," ",chr(13)+bez2)
Dies hat allerdings den Nachteil, das der Text im Zweifel um eine Zeile nach unten verschoben wird.
Eben diesen Effekt gilt es bei Adressen zu vermeiden.
Koverhage hat geschrieben:Deshalb ist ein Textfeld die beste Lösung. Man muss nur dafür sorgen das dieses groß genug ist.
Bin nicht ganz einvestanden, da ein Feld ohne Textrahmen sich beliebig vergrössern lässt. Ich fülle zumTeil ganze Bausteine in so ein Feld ein (natürlich dann icht für Adressen).
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von brandelh »

Man muss zunächst unterscheiden, ob ein Xbase++ Programm steuert oder WORD per Macro die Daten selbst holt :!:

Wenn sich Word die Daten holt, muss man mit Bedingungen prüfen ob das Feld benötigt wird oder nicht und dann darauf reagieren.

Wenn das Xbase++ Programm steuert, ist es viel einfacher ein fixes Textfeld (Rahmen natürlich unsichtbar) zu nutzen und die Zeilen als String mit CRLF zu übergeben.
Mit dem Textfeld (mit Platz für 10 Zeilen) verschiebt sich der Rest nicht, wenn man normalen Text nutzt, hängt der folgende Text von der Länge des Textfeldes ab.

Nach dem oben aufgeführten Quellcode scheint er Word-Macros (also VBA) zu benötigen, dieses habe ich früher für Anschreiben benutzt (heute drucke ich die direkt).

Code: Alles auswählen

{ MERGEFIELD "ADR_ZEI1" }
{ MERGEFIELD "ADR_ZEI2" }
z.H. { IF M = "F" "Frau" "Herrn" } { MERGEFIELD "NAME" } 
{ MERGEFIELD "ADR_STR" }
{ MERGEFIELD "ADR_PLZORT" }
wenn hier das DBF-Feld ADR_ZEI2 leer ist, unterdrückt Word die Zeile komplett !
In der Zeile darunter siehtst du wie auf den Inhalt eines Feldes reagiert wird ... hier müsste bei dir gefragt werden ob das erste Feld leer ist und wenn nicht, ein Leerzeichen, sonst "" ausgeben.
Bei der Syntax bin ich mir nicht sicher, ich mache nicht viel mit solchen Macros:

Code: Alles auswählen

{ MERGEFIELD "XYZ" } { IF XYZ = "" "" " " } { MERGEFIELD "OOO" } 
am Besten in Word Feld bearbeiten aufrufen und die Syntax dort ermitteln.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von brandelh »

ich habe mal ein einfaches Beispiel beigefügt, die Leerzeilenunterdrückung geht wie beschrieben automatisch ;-)

--- Datei gelöscht, bitte weiter unten suchen.
Gruß
Hubert
Benutzeravatar
Hans Zethofer
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 278
Registriert: Fr, 27. Jan 2006 8:29
Wohnort: 2700 Wiener Neustadt
Hat sich bedankt: 1 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von Hans Zethofer »

ZIP ist beschädigt!? :(
_____________
lg
Hans
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von Koverhage »

Hier nicht, ich kann die ganz normal öffnen
Gruß
Klaus
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von Herbert »

Fehler: Zentrales Verzeichnis nicht gefunden.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von brandelh »

was für ein zentrales Verzeichnis ?
Von der ZIP oder im DOC ?

Sollte eigentlich im aktuellen Verzeichnis liegen ...
Gruß
Hubert
Benutzeravatar
Herbert
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 1991
Registriert: Do, 14. Aug 2008 0:22
Wohnort: Gmunden am Traunsee, Österreich
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von Herbert »

Diese Meldung bringt Winzip beim kläglichen Versuch, etwas zu sehen. WinRar sagt, das Archiv sei zerstört.
Kurz: Die .Zip ist defekt.
Grüsse Herbert
Immer in Bewegung...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von brandelh »

ich hatte die DOC und DBF nachträglich ausgetauscht, 7z kommt damit klar, Win7 pur nicht ... also nochmals
Dateianhänge
WordSerienBrief.zip
neue Version der Datei
(9.52 KiB) 189-mal heruntergeladen
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von Jan »

Irgendwie finde ich es frustrierend, wenn Entwickler sich hier im Forum anmelden, eine Frage stellen, und danach sich nie wieder anmelden. In diesem Fall habe ich der betreffenden Person sogar am Tag darauf eine Mail geschickt um darauf hinzuweisen, das hier einige Antworten eingegangen sind. Aber wie man sieht hat sie sich dennoch seit ihrer Fragestellung nie wieder angemeldet.

Ticke ich da falsch, wenn ich das unmöglich finde? Oder ist sowas ganz normal heutzutage?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von Koverhage »

Jan,

in diesem Fall vermute ich das diese Person eh im falschen Forum war.
Gruß
Klaus
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von brandelh »

unschön auf jeden Fall und unhöflich auch !
Gruß
Hubert
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von UliTs »

Jan hat geschrieben:Irgendwie finde ich es frustrierend, ...

Ticke ich da falsch, wenn ich das unmöglich finde? Oder ist sowas ganz normal heutzutage?
Ja, es stört mich auch manchmal bei Dir, wenn man sich für eine Antwort viel Mühe gegeben hat, etwas programmiert hat und dann kommt nie eine Reaktion :badgrin: :wink:
(Nicht so ernst gemeint :D )
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Re: Leerzeile im Adressfeld

Beitrag von Jan »

... wo genau habe ich einen Beitrag von Dir nicht beantwortet? Ich will nicht leugnen, daß das ab und an mal passieren kann. Aber ich versuche es, und ich sage auch imemr Danke für Antworten.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Antworten