Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: shizen am 15.09.04 - 10:05:18
-
Hab ne Mail nach word geschoben und nu krieg ich Word nich wieder zu, also ohne Prompt!
Einer ne Idee?
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim wordapp As Variant
Dim body As Notesitem
Dim rtitem As Variant
Dim result As Integer
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
'neues Word Dokument öffnen
Set wordapp = createObject("Word.Application")
'anzeigen
wordapp.visible = True
'neues Dokument
wordapp.Documents.add
'Felder reinschreiben
wordapp.Selection.TypeText("Am: " & doc.DeliveredDate(0))
wordapp.selection.typeparagraph
wordapp.selection.typeparagraph
wordapp.Selection.TypeText("Von: " & doc.from(0))
wordapp.selection.typeparagraph
wordapp.Selection.TypeText("An: " & doc.sendto(0))
wordapp.selection.typeparagraph
wordapp.Selection.TypeText("Kopie: " & doc.copyto(0))
wordapp.selection.typeparagraph
wordapp.selection.typeparagraph
wordapp.Selection.TypeText("Betreff: " & doc.subject(0))
wordapp.selection.typeparagraph
wordapp.selection.typeparagraph
wordapp.selection.typeparagraph
'eigentlichen Inhalt schreiben
Set body = doc.GetFirstItem("Body")
wordapp.Selection.TypeText(body.text)
wordapp.Documents.save("NoPrompt:=True")
wordapp.quit
'Anhänge speichern
Set rtitem = doc.GetFirstItem( "Body" )
'gibt es Anhänge
If ( rtitem.Type = RICHTEXT ) And (rtitem.EmbeddedObjects<>"") Then
Forall o In rtitem.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) Then
'Call o.ExtractFile( "c:\" & o.Source )
result = Shell("calc.exe",1)
End If
End Forall
End If
Grüße
-
Hi,
versuch's mal so:
...
wordapp.Documents.save("NoPrompt:=True")
wordapp.quit 0
'Anhänge speichern
Set rtitem
...
Axel
-
geht, aber wo isses hin ??? ??? ???
wie kann ich festlegen, wo und unter welchem Namen es gespeichert wird?
Grüße
-
Statt der Save-Methode musst Du SaveAs ("Dateiname") verwenden.
Bernhard
-
Du verwendest Document.SaveAs anstatt von Documents.Save, dazu wäre die VBA-Hilfe sehr hilfreich gewesen
-
wordapp.Document.saveas("c:\hello.doc")
bringt: Instance member DOCUMENT dows not exist :( >:( :(
-
Schau noch mal in der Doku nach - das heisst doch Documents AFAIK.
Bernhard
-
auch das geht nich, ihr dürft VBA nich mit VB verwechseln :-\
aber ich es mit VB auch noch nich gepackt :-(
-
shizen: wenn Du über CreateObject eine Word Applikation öffnest, verwendest Du via COM VBA und nicht VB.
Bernhard: Documents ist die Collection aller Dokumente Document ist ein einzelnes Dokument, man müsste natürlich dafür zuerst das aktuelle Dokument aus der Collection rausziehen zB als Documents(0)
-
so gehts :D ;D :D
Sub Click(Source As Button)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim wordapp As Variant
Dim body As Notesitem
Dim rtitem As Variant
Dim result As Integer
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
'neues Word Dokument öffnen
Set wordapp = createObject("Word.Application")
'anzeigen
wordapp.visible = True
'neues Dokument
wordapp.Documents.add
'Felder reinschreiben
wordapp.Selection.TypeText("Am: " & doc.DeliveredDate(0))
wordapp.selection.typeparagraph
wordapp.selection.typeparagraph
wordapp.Selection.TypeText("Von: " & doc.from(0))
wordapp.selection.typeparagraph
wordapp.Selection.TypeText("An: " & doc.sendto(0))
wordapp.selection.typeparagraph
wordapp.Selection.TypeText("Kopie: " & doc.copyto(0))
wordapp.selection.typeparagraph
wordapp.selection.typeparagraph
wordapp.Selection.TypeText("Betreff: " & doc.subject(0))
wordapp.selection.typeparagraph
wordapp.selection.typeparagraph
wordapp.selection.typeparagraph
'eigentlichen Inhalt schreiben
Set body = doc.GetFirstItem("Body")
wordapp.Selection.TypeText(body.text)
wordapp.Documents(1).saveas("c:\hello.doc")
wordapp.quit
'Anhänge speichern
Set rtitem = doc.GetFirstItem( "Body" )
'gibt es Anhänge
If ( rtitem.Type = RICHTEXT ) And (rtitem.EmbeddedObjects<>"") Then
Forall o In rtitem.EmbeddedObjects
If ( o.Type = EMBED_ATTACHMENT ) Then
'Call o.ExtractFile( "c:\" & o.Source )
result = Shell("calc.exe",1)
End If
End Forall
End If
-
Hi,
muß ich das Script an ein Smarticon der Symbolleiste hängen???
Bei mir kommt dann wenn ich das speichern möchte immer die Meldung!
"Ein Operator oder Semikolon wurde erwartet aber nicht gefunden.:'Click'
und markiert dann den Click - Befehl in der ersten Script Zeile. Muß das dann in Semikolons???
-
Hi,
wo hast du denn das Script hineinkopiert?
Das gehört in eine Aktion innerhalb eines Dokumentes.
Axel
-
Und vor allem - egal ob in einem Buhtong oder in einer Aktion - auf LotusScript stellen und nicht auf Formelsprache
-
Tja ich hab mir einfach ein Smarticon gebastelt und bin dann unter Datei/Vorgaben/Smarticons hin und hab dieses Smarticon bearbeitet. Dort kann man dann ein Script einfügen (Button Formel) Aber dort kann man nicht auf Lotus Script umstellen!!
Wie meint Ihr das denn?
-
Du kannst offensichtlich kein LS. Ausserdem macht dieser (Beispiel-)Code nix weiter, als unter bestimmten Umständen den Windows-Taschenrechner aufzurufen.
Ergo: Lass' da mal besser die Finger davon, bevor Du Dir was kaputt machst.
HTH,
Bernhard
-
Stimmt, das sieht ganz danach aus, wie wenn Dir die notwendigsten Grundlagen fehlen.