Autor Thema: Klasse für Word-Automation  (Gelesen 48009 mal)

Offline adminnaddel

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 819
  • Geschlecht: Männlich
  • What a wonderful girl, so beautiful und se....;-)
Re: Klasse für Word-Automation
« Antwort #40 am: 29.04.05 - 08:49:46 »
Hallo Axel ...

das habe ich ja soweit verstanden, wenn ich jedoch das brief.dot öffne sehe ich nichts!

Auszug aus dem Agenten:

'Neues Dokument auf Basis der Vorlage erstellen. Dot muß nicht im Vorlagenverzeichnis liegen
Call cWord.CreateNewDoc(strVorlage)
   
'Einfügen der Daten in entsprechende Formularfelder
strTemp = doc.Anrede(0)
If strTemp = "Herr" Then strTemp = strTemp & "n"
Call cWord.InsertInField("Anrede", strTemp)
Call cWord.InsertInField("Name", doc.Name(0))
Call cWord.InsertInField("Anschrift", doc.Anschrift(0))
Call cWord.InsertInField("Ort", doc.Ort(0))
   
strTemp = doc.Briefanrede(0)
If Right$(strTemp, 1) <> "," Then strTemp = strTemp & ","
Call cWord.InsertInField("Briefanrede", strTemp)


strVorlage ist in diesem Fall ja "brief.dot" doch wenn ich mir das mal anschaue .. dann ist das doc leer  ;D

lg
Andy

Offline adminnaddel

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 819
  • Geschlecht: Männlich
  • What a wonderful girl, so beautiful und se....;-)
Re: Klasse für Word-Automation
« Antwort #41 am: 29.04.05 - 08:51:46 »
Ah .. habs gefunden ... alles klar!

Mann muss nur das ganze doc mal makieren .. dann sieht man die Sprungmarken  8)

lg
Andy

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Klasse für Word-Automation
« Antwort #42 am: 29.04.05 - 09:17:22 »
Hi,

Vorsicht!  Nicht das es hier zu Verwechslungen kommt.

Die brief.dot ist keine Serienbrief-Datei, sondern ein ganz normales Dokument. Die Sprungmarken, die du siehst, sind Formularfelder. Die habe ich hier etwas zweckentfremdet.  ;D

Du siehst das Ganze auch, wenn du die alle Formatierungszeichen anzeigen lässt (umgedrehtes P in der Symbolleiste).

Anstatt von Formularfeldern kannst du auch Textmarken in das Dokument einfügen. Die dazugehörige Methode in der Klasse heisst dann InsertAtTM.

Im Code würde das dann so aussehen:

Call cWord.InsertAtTM("Name", doc.Name(0))

Hier würde der Inhalt des Feldes Name an der Position der Textmarke Name in das Dokument eingefügt werden.

Textmarken sind im Dokument völlig unsichtbar. Über das Menü Einfügen - Textmarke kannst du Textmarken verwalten.

Du siehst auch hier wieder: viele Wege führen nach Rom (in diesem Fall nach Word )

Axel
 
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Klasse für Word-Automation
« Antwort #43 am: 29.04.05 - 09:20:31 »
Auch die Textmarken lassen sich als grauer Strich anzeigen irgendwo in den Optionen, sie werden aber nicht mit angezeigt, wenn alle Steuerzeichen gezeigt werden, müssen also extra zur Anzeige gebracht werden.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Klasse für Word-Automation
« Antwort #44 am: 29.04.05 - 11:01:31 »
Danke Jens für den Hinweis. Das war mir bisher nicht bekannt. Man lernt eben nie aus.
Für was ein Notes-Forum doch alles gut ist.  ;D :o


Es ist eigentlich ganz einfach im Optionen-Dialog zu finden, siehe Anhang.



Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Klasse für Word-Automation
« Antwort #45 am: 29.04.05 - 11:11:27 »
... und es ist wirklich sehr, sehr praktisch, wenn man sieht, wo diese Marken sitzen. Sie sind auch einfacher zu bedienen als "missbrauchte" Eingabefelder - aus COM heraus meine ich.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
Re: Klasse für Word-Automation
« Antwort #46 am: 17.03.11 - 14:22:49 »
Hallo,

hat jemand noch diese Klassen oder etwas ähnliche, die er teilen würden?
Würde das  Rad ungern neu erfinden/schreiben.

Danke.

VG, Michael

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Klasse für Word-Automation
« Antwort #47 am: 17.03.11 - 15:12:27 »
Der FreeDominoServer-Server wurde abgeschaltet. Darum funktioniert der Link nicht mehr.

Ich habe hier das Ganze als Tipp eingestellt -> http://atnotes.de/index.php/topic,51236.msg329259.html#msg329259

Da hängt auch die Beispiel-Datenbank dran aus der man die Sript-Bibliothek mit der Klasse kopieren kann.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
Re: Klasse für Word-Automation
« Antwort #48 am: 17.03.11 - 15:14:53 »
Vielen Dank.

Offline alkuhn

  • Senior Mitglied
  • ****
  • Beiträge: 288
  • Geschlecht: Männlich
Re: Klasse für Word-Automation
« Antwort #49 am: 16.05.11 - 14:55:52 »
Hallo Axel,

ich hatte die Klassen lange im Einsatz und möchte mich nochmals dafür bedanken!
Ich habe hauptsächlich die Serienbrieffunktion verwendet. Nun habe ich auf Word 2010 gewechselt und habe Probleme bekommen. Das Erstellen der Serienbriefdaten funktioniert noch. Beim Aufruf von Call cSeriendruck.Merge(strSteuerdatei) kommt es dann zur Fehlermeldung Fehler 207 -> Automation object error. Kennst Du zufällig das Problem bereits? Ich komme hier nicht weiter. Zum Zeitpunkt des Fehlers liegt die Steuerdatei schon vor und Word ist mit der eigentlichen Druckdatei geöffnet.

Viele Grüße
Alex

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Klasse für Word-Automation
« Antwort #50 am: 16.05.11 - 18:49:26 »
Kennst Du zufällig das Problem bereits?

Das Problem kenne ich noch nicht, da wir die Klasse hauptsächlich noch mit Office 2003 einsetzen.

Ich werde mir das daheim aber mal anschauen. Gib' mir bitte etwas Zeit, dann findet sich mit Sicherheit eine Lösung.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline alkuhn

  • Senior Mitglied
  • ****
  • Beiträge: 288
  • Geschlecht: Männlich
Re: Klasse für Word-Automation
« Antwort #51 am: 16.05.11 - 20:03:03 »
Hallo Axel,

das ist super von Dir! Ich habe heute schon den ganzen Tag herumprobiert, bekomme es aber nicht hin.

Viele Grüße
Alex

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Klasse für Word-Automation
« Antwort #52 am: 17.05.11 - 08:57:24 »
Ich habe das gestern Abend auf die Schnelle nochmal mit der, im verlinkten Thread angehängten Demo-DB versucht. Es hat problemlos ohne Änderungen funktioniert. Ich habe es mit dem Notes-Client 8.5.1 und Office 2010 versucht.

Irgendwie muss das Problem woanders liegen. Kannst du mal deinen Code posten?

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline alkuhn

  • Senior Mitglied
  • ****
  • Beiträge: 288
  • Geschlecht: Männlich
Re: Klasse für Word-Automation
« Antwort #53 am: 17.05.11 - 09:05:23 »
Hallo Axel,

das verstehe ich wirklich nicht. Mein Code ist eigentlich nur für die entsprechenden Daten angepasst aber nicht an den wichtigen Stellen. Ich habe es gestern aber auch mit der original Datenbank von Dir getestet, da ist es zum gleichen Fehler gekommen mit einem Notes Client 6.5 und Word 2010. Ich teste jetzt mal Deine NotesToWord Datenbank bei einem 8.5er Client mit Word 2010 und gebe gleich Bescheid.

Viele Grüße
Alex

Offline alkuhn

  • Senior Mitglied
  • ****
  • Beiträge: 288
  • Geschlecht: Männlich
Re: Klasse für Word-Automation
« Antwort #54 am: 17.05.11 - 09:43:13 »
Hallo Axel,

auch mit der heruntergeladenen Datenbank funktioniert es bei mir nicht. Wenn ich die Serienbrieffunktion aufrufe, kommt es zur angehängten Fehlermeldung. Im Word selber wird das Serienbriefdokument geöffnet, aber nicht mit den Daten "gemischt".

Habe es an zwei Rechnern getestet (einmal Notes Client 6.5 und einmal 8.5.2)

Viele Grüße
Alex

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Klasse für Word-Automation
« Antwort #55 am: 17.05.11 - 11:37:49 »
Welche Aktion führst du denn aus, "Seriendruck Word XP" oder "Seriendruck Word 2000"?

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline alkuhn

  • Senior Mitglied
  • ****
  • Beiträge: 288
  • Geschlecht: Männlich
Re: Klasse für Word-Automation
« Antwort #56 am: 17.05.11 - 11:46:43 »
Hallo Axel,

ich habe beide Funktionen getestet. Es kommt immer zur gleichen Fehlermeldung.

Viele Grüße
Alex

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Klasse für Word-Automation
« Antwort #57 am: 17.05.11 - 19:37:52 »
Also ich kann das hier in keinster Weise nachvollziehen. Bei mir funktionieren beide Aktionen einwandfrei. Ich habe mir auch noch mal die Objektmethoden und -eigenschaften angeschaut. Das passt alles.

Tausche mal in der Script-Library libWord bei der Klasse cSeriendruck2K in der Methode Merge(...) mal den vorhandenen Code gegen untenstehenden aus. Allerdings sieht der soviel anders auch nicht aus. Allerdings stammt dieser aus einem aufgezeichneten Marko aus Word 2010.

Code
...
    Const wdFormLetters = 0
    Const wdSendToNewDocument = 0
    Const wdDefaultFirstRecord = 1
    Const wdDefaultLastRecord = -16
         
    With objWord.ActiveDocument.MailMerge
	.MainDocumentType = wdFormLetters
	.OpenDataSource CStr(strDatei)
	.Destination = wdSendToNewDocument
                .SuppressBlankLines = True
                With .DataSource
                              .FirstRecord = wdDefaultFirstRecord
                              .LastRecord = wdDefaultLastRecord
                 End With
                .Execute False
     End With  'With objWord.ActiveDocument.MailMerge			
...

Versuch's dann nochmal mit der Aktion "Seriendruck Word 2000".

Wenn das auch nicht funktioniert, dann muss das an was anderem liegen. Kann es evt. sein, dass Office nicht vollständig installiert wurde und irgendwelche Bibliotheken fehlen?

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline alkuhn

  • Senior Mitglied
  • ****
  • Beiträge: 288
  • Geschlecht: Männlich
Re: Klasse für Word-Automation
« Antwort #58 am: 18.05.11 - 10:38:23 »
Hallo Axel,

ich verstehe echt nicht, warum es bei Dir geht und bei mir nicht  ???

Ich werde den Code auf jeden Fall testen.Auch die Office Installation werde ich nochmals überprüfen - aber da kann man ja eigentlich nicht viel falsch machen - Word ist komplett angehackt. Sobald ich alles geprüft habe, gebe ich Dir Bescheid. Und nochmals danke für Deine Bemühungen.

Viele Grüße
Alex

Offline alkuhn

  • Senior Mitglied
  • ****
  • Beiträge: 288
  • Geschlecht: Männlich
Re: Klasse für Word-Automation
« Antwort #59 am: 19.05.11 - 15:14:33 »
Hallo Axel,

die Codeänderung und eine Office-Neuinstallation hat beides nichts gebracht - immer die gleiche Fehlermeldung. Keine Ahnung was da los ist. Schade, dass es nicht noch jemand anderes mit Office 2010 testet. Ich nehme jetzt noch ein völlig anderes Notebook und versuche es dort.

Viele Grüße
Alex

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz