Macht mir einer Auftragsprogrammierung für Writer ? Parser:
Verfasst: Do, 19.07.2007 15:48
Hallo,
wir müssen uns mit einer Adressverwaltung beschäftigen, die nur Microsoft Word als Textprogramm-Anbindung bietet.
Prinzipiell werden Adress-Daten in Dokumente geschüttet. Der Datenaustausch funktioniert über DDE.
Wir wollen Open-Office anbinden und sind soweit gekommen, daß wir Rohtext in ein leeres Writer-Dokument bekommen.
Dieser Text hat noch Reste der DDE-Anbindung. Dafür hätten wir gerne einen Parser, der diese Textbefehle auswerten kann.
Beispiele hier:
---------------------------------------------------------------------------------
Pflegevertrag_DE.ott // in der ersten Zeile steht der Name der gewünschten Dokumentvorlage. Diese besteht schon.
\\servername\pfad\pad\pfad\2005-04-14_Thomsen_Autor=HF.doc // in der zweiten Zeile steht der Zielname des Dokumentes für die Dokumentenverwaltung.
Selection.email = "" // falls Email-Adresse vorhanden, dann später dahin als PDF verschicken.
Befehle beginnen mit Selection. // gerne sorgen wir dafür, dass immer nur einer in einer Zeile steht, gerne auch immer am Anfang der Zeile.
Selection.ParagraphFormat.SpaceBefore = 73.7 // Abstand von oben
Selection.ParagraphFormat.TabStops.Add 450,2 // Tabstop definieren
Selection.Font.Size = 8 // Textgrösse einstellen
Selection.Font.Underline = 1 // Unterstreichen ein
elusoft GmbH * Breitwasenring 4 * D-72135 Dettenhausen // ganz normaler Text, ohne irgendeinen Selection. Befehl
Selection.Font.Size = 10 // wieder andere Größe
Selection.Font.Underline = 0 // Unterstreichen aus
E+l+r Th+ms+n Al+f+c+d+r
Herr S+r+n K++s
Iv+r L+ndg+rdsv+j 25
Selection.Font.Bold=1 // Fettschrift ein
DK – 7500 H+lst+br+
Selection.Font.Bold=0 19. Juli 2007 // hier kommt der Tab-Stop von oben zum Tragen
Die Selektion.GoTo -1 sind uns wichtig. Damit möchten wir an eine Textvariable/Feld im Dokument springen und den nachfolgenden Text dort eintragen.
Selection.GoTo -1,,, „Briefanrede“Sehr geehrter Herr Th+ms+n, // Briefanrede ist der Feldname, danach der Text für dort.
Selection.GoTo -1,,, „Lizenznehmer“ // Lizenznehmer ist der Feldname
Selection.Font.Bold=1 // Fettschrift ein
E+l+r Th+ms+n Al+f+c+d+r
Selection.Font.Bold=0 // Fettschrift aus
Iv+r L+ndg+rdsv+j 25
DK – 7500 H+lst+br+
Selection.GoTo -1,,, „elucaddaten“ 6_5106202 USB ELU_Standard x x x x 5 6_905752 PCMCIA ELU_Standard x x x x 0
--------------------------------- Ende Beispiel ----------------------------
nachdem der Parser die Selektion. -Befehle interpretiert hat, werden diese gelöscht. Je nach Einigung, dann die gesamte Zeile.
Die Dokumentenvorlage muss geladen werden,
die Befehle interpretiert,
die Texte an Feldern eingefügt und das Dokument muss als *.DOC an die angegebene Zieladresse abgelegt werden.
Dokument einmal ausdrucken auf einen von uns einstellbaren Drucker. Es ist nicht der Standard-Drucker, sondern je nach verwendeter Dokumentvorlage.
falls die email-Adresse belegt war, dann als PDF dorthin schicken.
So, das war's schon.
Es geht konkret um die Cobra Adressverwaltung http://www.cobra.de, die nicht bereit sind OpenOffice anzubinden, da nur wenige User OpenOffice einsetzen.
Ich bin gespannt auf die Angebote, gerne mache ich ersatzweise eine größere Spende an den Verein
Peter Fürle
wir müssen uns mit einer Adressverwaltung beschäftigen, die nur Microsoft Word als Textprogramm-Anbindung bietet.
Prinzipiell werden Adress-Daten in Dokumente geschüttet. Der Datenaustausch funktioniert über DDE.
Wir wollen Open-Office anbinden und sind soweit gekommen, daß wir Rohtext in ein leeres Writer-Dokument bekommen.
Dieser Text hat noch Reste der DDE-Anbindung. Dafür hätten wir gerne einen Parser, der diese Textbefehle auswerten kann.
Beispiele hier:
---------------------------------------------------------------------------------
Pflegevertrag_DE.ott // in der ersten Zeile steht der Name der gewünschten Dokumentvorlage. Diese besteht schon.
\\servername\pfad\pad\pfad\2005-04-14_Thomsen_Autor=HF.doc // in der zweiten Zeile steht der Zielname des Dokumentes für die Dokumentenverwaltung.
Selection.email = "" // falls Email-Adresse vorhanden, dann später dahin als PDF verschicken.
Befehle beginnen mit Selection. // gerne sorgen wir dafür, dass immer nur einer in einer Zeile steht, gerne auch immer am Anfang der Zeile.
Selection.ParagraphFormat.SpaceBefore = 73.7 // Abstand von oben
Selection.ParagraphFormat.TabStops.Add 450,2 // Tabstop definieren
Selection.Font.Size = 8 // Textgrösse einstellen
Selection.Font.Underline = 1 // Unterstreichen ein
elusoft GmbH * Breitwasenring 4 * D-72135 Dettenhausen // ganz normaler Text, ohne irgendeinen Selection. Befehl
Selection.Font.Size = 10 // wieder andere Größe
Selection.Font.Underline = 0 // Unterstreichen aus
E+l+r Th+ms+n Al+f+c+d+r
Herr S+r+n K++s
Iv+r L+ndg+rdsv+j 25
Selection.Font.Bold=1 // Fettschrift ein
DK – 7500 H+lst+br+
Selection.Font.Bold=0 19. Juli 2007 // hier kommt der Tab-Stop von oben zum Tragen
Die Selektion.GoTo -1 sind uns wichtig. Damit möchten wir an eine Textvariable/Feld im Dokument springen und den nachfolgenden Text dort eintragen.
Selection.GoTo -1,,, „Briefanrede“Sehr geehrter Herr Th+ms+n, // Briefanrede ist der Feldname, danach der Text für dort.
Selection.GoTo -1,,, „Lizenznehmer“ // Lizenznehmer ist der Feldname
Selection.Font.Bold=1 // Fettschrift ein
E+l+r Th+ms+n Al+f+c+d+r
Selection.Font.Bold=0 // Fettschrift aus
Iv+r L+ndg+rdsv+j 25
DK – 7500 H+lst+br+
Selection.GoTo -1,,, „elucaddaten“ 6_5106202 USB ELU_Standard x x x x 5 6_905752 PCMCIA ELU_Standard x x x x 0
--------------------------------- Ende Beispiel ----------------------------
nachdem der Parser die Selektion. -Befehle interpretiert hat, werden diese gelöscht. Je nach Einigung, dann die gesamte Zeile.
Die Dokumentenvorlage muss geladen werden,
die Befehle interpretiert,
die Texte an Feldern eingefügt und das Dokument muss als *.DOC an die angegebene Zieladresse abgelegt werden.
Dokument einmal ausdrucken auf einen von uns einstellbaren Drucker. Es ist nicht der Standard-Drucker, sondern je nach verwendeter Dokumentvorlage.
falls die email-Adresse belegt war, dann als PDF dorthin schicken.
So, das war's schon.
Es geht konkret um die Cobra Adressverwaltung http://www.cobra.de, die nicht bereit sind OpenOffice anzubinden, da nur wenige User OpenOffice einsetzen.
Ich bin gespannt auf die Angebote, gerne mache ich ersatzweise eine größere Spende an den Verein
Peter Fürle