Domino 9 und frühere Versionen > Entwicklung
Übergabe von Lotus Notes an MS-Word
Don Pasquale:
Hi Alirion,
das mit der Zwischenablage verstehe ich auch nicht,
Du wolltest doch eine Schnittstelle aus Lotus ?
Nach der Serienbrieffunktion hast Du auch nicht geschaut und Code hast Du bisher auch keinen.
Diesen Code habe ich nur so zusammengehauen, er wird sicher nicht laufen, nur sind hier alle Befehle drin die Du brauchst.
Im Worddokument sollte ein Feld sein mit dem Namen "IDENTNUMMER", dann kannst Du darein etwas übergeben
**********************
Dim object As Variant
Dim WordObj As Variant
Dim word As Variant
'Create the Word object:
On Error Resume Next
Set Word = GetObject("", "Word.Application")
If Err = 208 Then ' Fehler 208 tritt auf wenn Word noch nicht läuft
Err = 0
Set Word = CreateObject("Word.Application")
objWord.Visible = True 'Word sichtbar machen
End If
'Set word = GetObject("","Word.Application")
'Set word = CreateObject("Word.Application") 'Create Word object
'Create a new document based on the template from dlgdoc
Worddokumentpfad$ = "C:TEMP\Word.doc"
Call word.documents.add(Worddokumentpfad$)
Set worddoc = word.activedocument 'Get a handle for the active document
'Assign the field values:
worddoc.FormFields("IDENTNUMMER").result = strIDENT
worddoc.saveas(Reaktionsbriefpfad$) 'save the document with the filename of "user"
word.ActivePrinter = "Print-2-Image"
Call worddoc.PrintOut(False, , , , , , , 1)
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.
Markus Henke:
@meichhorner:
Ich habe nichts von Rich-Text gelesen. Du? ;)
@Alirion:
Um sicher zu gehen, dass keiner an der Vorlage bastelt, haben wir es so geregelt, dass wir die Vorlage in die Datenbank anhängen und beim drucken dann im Temp Verzeichnis speichern. Ansonsten dürfte in dem Code alles drin gewesen sein.
meichhorner:
@Markus
Ja stimmt schon steht nicht drin, aber wenn man sich schon mal damit befasst hat weiss mann dass es keine andere Möglichkeit für Richtext gibt als die Zwischenablage zu benutzen, mit Notes Mitteln versteht sich ;)
Ob du jetzt die Notes Daten in ein Formular Feld schreibst oder in eine Bookmark dass ist ja nicht das Problem das geht easy von überall aus.
Cu
Martin
Alirion:
Vorerst einmal herzlichen Dank an Alle, die mir so schnell antworten konnten.
Das Problem ließ sich lösen, indem ich erst Word ganz am Schluß erscheinen lasse (Word.Visible = true).
Dazu mußte ich nur ein paar Funktionsbereiche ändern, die für die Übergabe nach Word nötig waren.
Jedoch habe ich ein daraus resultierendes Problem:
Word ist geöffnet. Jedoch wird das aktuelle Dokument per PrintOut zum Standarddrucker gesendet. Wenn ich jetzt schon sage, Application.Quit, dann kann es sein, je nach Seitenzahlen des Worddokumentes, das ein Hinweisfenster erscheint, das den Benutzer fragt: Word druckt gerade, möchten Sie wirklich schließen?
Diese Hinweisfenster möchte ich jedoch unterdrücken und müßte dazu wissen, ob es eine Abfrage nach Word gibt, die einem einen Wert liefert, ob der Druckjob erledigt ist, damit sofort Word geschlossen werden kann.
Nochmals Danke und hoffentlich bekomme ich wieder so gute Antworten.
meichhorner:
Hy,
wie schon gesagt probier mal das PrintBackground Argument aus.
--- Code: ---Application.ActiveDocument.PrintOut Background:=False
--- Ende Code ---
Cu
martin
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln