Autor Thema: Word Dokument erstellen  (Gelesen 9520 mal)

TomLudwig

  • Gast
Word Dokument erstellen
« am: 03.12.03 - 09:19:40 »
Morgen zusammen,

wie kann ich am leichtesten ein Word Dokument erstellen und diesem dann bestimmte Feldinhalte aus dem geöffneten uidoc übergeben?

Ich hab bisher nur etwas gefunden wie ich ein neues ExcelFile erzeuge. Aber nicht wie ich Felder in einer WordVorlage fülle. Diese dann anzeige und evtl. außerhalb des Dokuments speichere.

Kann mir jemand helfen?!? thx.

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:Word Dokument erstellen
« Antwort #1 am: 03.12.03 - 09:31:02 »
@Tom,

Guckst Du hier :

http://www.atnotes.de/index.php?board=7;action=display;threadid=2026;start=0

die Suche nach WORD müßte aber noch ein paar Threads ergeben

Erzähl dann aber mal wie Du voran kommst

Ciao
Don Pasquale

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Word Dokument erstellen
« Antwort #2 am: 03.12.03 - 09:31:28 »
Hi,

schau mal hier http://www.atnotes.de/index.php?board=9;action=display;threadid=11741

Da solltest du alles finden, was du brauchst.


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

Offline thoge

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 533
  • Geschlecht: Männlich
Re:Word Dokument erstellen
« Antwort #3 am: 03.12.03 - 10:09:08 »
@TomLudwig,

die Klasse für Word-Automation, auf die Axel verlinkt, solltest Du Dir wirklich mal angucken.
Ich habe die in unser Adressbuch eingebaut, seitdem ist Ruh mit Serienbrief, einfacher Brief, Listen, Fax etc. Weitere Anwendungsfälle in anderen Datenbanken werden mit Sicherheit folgen.

@Axel, das ist wirklich eine "Klasse für sich", vielen Dank dafür.

Mit freundlichen Grüßen

Thomas
s 6.5.5 w2k3 5
c 6.5.5 wxpp 180

TomLudwig

  • Gast
Re:Word Dokument erstellen
« Antwort #4 am: 03.12.03 - 10:38:17 »
Die Klasse ist echt spitze. Da kann ich auch nur mein Lob ausprechen.

Aber ich hab den Ehrgeiz, dass ich es selbst mit den NotesClassen hinbekommen möchte.

Ich versuchs jetz mal weiter. Und wenn ich Probleme hab, dann meld ich mich... ;)

TomLudwig

  • Gast
Re:Word Dokument erstellen
« Antwort #5 am: 03.12.03 - 10:44:01 »
Und ich hab auch schon gleich das erste Prolem:
Die Datei "Return and Uplift.dot" liegt auf dem Server. Auf diesem Server ist kein Word installiert. Ist es auch mögilch, dass ich die Datei bei mir Lokal liegen haben kann?

Die Fehlermeldung die erscheint lautet:
Dieser Befehl ist nicht verfügbar, weil kein Dokument geöffnet ist.

Sub Click(Source As Button)
   
   Dim s As New notessession
   Dim todaydate As New notesdatetime("Today")
   
   Dim word As Variant
   Dim wordoc As Variant
   
   Dim todaysdate As String
   Dim orderid As String
   Dim producedby As String
   Dim storeid As String
   Dim customername As String
   Dim address As String
   Dim citytown As String
   Dim postcode As String
   Dim daytimeno As String
   Dim eveningno As String
   
'Predefined values: (replace with field values from uidoc)
'   todaysdate = todaydate.localtime
   orderid = "2183763248"
   producedby = s.username
   storeid = "12345"
   customername = "John Doe"
   address = "Apartment 5c, 5 Test Avenue"
   citytown = "Testtown"
   postcode = "XX5 5XX"
   daytimeno = "1234567890"
   eveningno = "0987654321"
   
'Create the Word object:
   Set word = CreateObject("Word.Application") 'Create Word object
   Call word.documents.add("D:\domino\domdata\Entwicklung Felix\Return and Uplift.dot") 'Create a new document based on the template "Return and Uplift.Dot"
   Set worddoc = word.activedocument 'Get a handle for the active document
   
'Assign the field values:
   worddoc.FormFields(1).result = todaysdate
   worddoc.FormFields(2).result = orderid
   worddoc.FormFields(3).result = producedby
   worddoc.FormFields(4).result = storeid
   worddoc.FormFields(5).result = customername
   worddoc.FormFields(6).result = address
   worddoc.FormFields(7).result = citytown
   worddoc.FormFields(8).result = postcode
   worddoc.FormFields(9).result = daytimeno
   worddoc.FormFields(10).result = eveningno
   
   worddoc.saveas(customername) 'save the document with the filename of "John Doe.doc"
   word.visible = True 'Comment this line if you don't want to show Word.
'word.quit 'remove comment if you want to close rather than show Word.
End Sub

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Word Dokument erstellen
« Antwort #6 am: 03.12.03 - 11:28:10 »
Hi,

im Prinzip ist es egal, wo die Datei liegt. Sie muss nur für den User zugänglich sein. Ich hab bei uns die Vorlagen auf einem Netware-Server liegen und ein Laufwerk darauf gemappt. Das Ganze funktioniert aber genauso mit Dateien die lokal gespeichert sind.


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

TomLudwig

  • Gast
Re:Word Dokument erstellen
« Antwort #7 am: 03.12.03 - 12:48:42 »
Jipie es funktioniert..... :)

Aber jetzt möchte ich das ganze erstens verstehen und zweitens dann auch noch für meine Bedürfnisse umstricken.....

Ich hab im NotesUIDocument die Methode CreateObject gefunden:
Set handleV = notesUIDocument.CreateObject( [ name$ [ , type$ [ , filePath$ ] ] ] )

1.Frage:
Gibt es nur diese Möglichkeit ein neues Worddokument oder der gleichen zu öffnen. Oder kann ich das auch noch irgendwie anders machen?
2.Frage:
In der Designerhilfe steht, dass das OLE Objekt in dem aktuellen RichTextField erzeugt wird. Ich habe gar kein solches Feld in meiner Maske. Warum funktioniert es trotzdem?
3.Frage:
Wo kann ich die ganzen Methoden und Eigenschaften dieses Objektes nachlesen?
4.Frage:
Von welchen Typen (z.B. Word.Application) kann ich ein neues Objekt erzeugen?

Sind viele Fragen. Manche vielleicht auch dumm. Aber bitte helft mir, wenn ihr könnt. Ich möchte den Quellcode gerne verstehen....  ???

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Word Dokument erstellen
« Antwort #8 am: 03.12.03 - 14:13:09 »
Hi,

zu 1.

Es gibt zwei Möglichkeiten. Einmal mit der LotusScript-Anweisung CreateObject  und mit der Methode notesUIDocument.CreateObject( [ name$ [ , type$ [ , filePath$ ] ] ] ) aus der Notesklasse NotesUIDocument.

zu 2.
Du nutzt in deinem Script die LotusScript-Anweisung CreateObject und nicht die Methode aus der Notesklasse NotesUIDocument. diese Methode erstellt ein Object im aktuellen RTF-Feld, das ist richtig. Da du diese Methode aber nicht nutzt, funktioniert das Ganze auch wenn du kein RTF-Feld hast.

zu 3.
Die Methoden und Eigenschaften zu Word und Excel findest du in der entsprechenden Hilfe zu VBA.
 
zu 4.
Meines Wissen kannst du von den meisten Typen, die in der Registry enthalten sind Objekte erstellen. Ob es allerdings Sinn macht ist eine andere Frage. Im Falle von Word oder Excel hast du nur mit .Application die volle Kontrolle über die Anwendung.
Ich muss aber auch gestehen, ich habe die anderen Typen nie ausprobiert.


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

TomLudwig

  • Gast
Re:Word Dokument erstellen
« Antwort #9 am: 03.12.03 - 14:39:27 »
Gut, danke. Ich habe alles verstanden....
Nur das mit den Funktionen und Methoden von diesem OLE Object.
Ich hab in der VBA Hilfe von Word nachgeschaut. Das ist ja der größte "Dreck" den ich je gesehen hab.

Gibts da keine schönere Auflistung aller Methoden und Funktionen? Hat sich jemand mal die Mühe gemacht und diese zusammen geschrieben bzw. schon was gefunden?

Vielen Dank

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Word Dokument erstellen
« Antwort #10 am: 03.12.03 - 18:08:09 »
Ich hab in der VBA Hilfe von Word nachgeschaut. Das ist ja der größte "Dreck" den ich je gesehen hab.

Hi,

also ganz so schlimm ist sie doch nicht, aber auch ich habe schon übersichtlichere Hilfen gesehen.

Ich habe mir immer mit dem Aufzeichnen von Makros geholfen. Den Quellcode habe ich dann nach LotusScript übernommen und angepasst.

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

TomLudwig

  • Gast
Re:Word Dokument erstellen
« Antwort #11 am: 04.12.03 - 09:02:03 »
Ja gut, mittlerweilen hab ich mich durchgefuselt....  ;D
Ich kann halt nur die wichtigsten Funktionen, die für mich notwendig sind. Aber das reicht ja auch.  ;)

Eine Frage noch: Per VBA kann ich nur auf OLE-Objekte zugreifen in Lotus Notes. Oder kann ich VBA auch andersweitig einsetzen?

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Word Dokument erstellen
« Antwort #12 am: 04.12.03 - 09:10:13 »
Hi,

du kannst VBA für die Makroprogrammierung innerhalb der Applikationen (als z.B. Word, Excel usw.) nutzen.


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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz