Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Don Pasquale am 13.11.02 - 13:45:45
-
Hallo Leute,
ich stecke immer noch fest bei meinen Serienbriefen.
Folgender Code bringt immer den Fehler OBJECT VARIABLE NOT SET
Set WordDoc2 = object.Activate(True)
Und ich sehe wieder nicht warum.
Hat jemand eine Idee ?
Ciao
Don Pasquale
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim MergeDoc As NotesDocument
Dim MergeView As NotesView
Dim rtitem As NotesRichTextItem
Dim w As New NotesUIWorkspace
Dim WordDocs As Variant
Dim WordDoc As Variant
Dim WordDoc2 As Variant
Dim object As Variant
Dim WordObj As Variant
Dim i As Integer
Dim temp As String
Dim templateName As String
Set db = session.CurrentDatabase
Dim dlgDoc As New NotesDocument(db)
OK=False
OK=w.dialogbox("Reaktionsschreibenpicker", True, True, False, False, False, False, "Wählen Sie eine Vorlage",dlgDoc)
If OK Then
templateName=dlgDoc.templatechoices(0)
Set MergeView = db.GetView( "Reaktionsschreibenvorlagen" )
Set MergeDoc = MergeView.GetDocumentByKey(templateName,True)
Set rtitem = MergeDoc.GetFirstItem("Body")
Set object = rtitem.GetEmbeddedObject("Microsoft Word Document")
Set WordDoc2 = object.Activate(True) '******** OBJECT VARIABLE NOT SET
End If
-
Hi,
ich denke "der Hund liegt hier gegraben".
Set object = rtitem.GetEmbeddedObject("Microsoft Word Document")
Als Parameter erwartet die Methode einen Dateinamen. Ich denke mal das es so ausehen sollte:
Set object = rtitem.GetEmbeddedObject("document.doc")
Den Namen musst du natürlich anpassen.
Axel
-
Hallo!!
Bekommst du ein Objekt von dem GetEmbeddedObject ?? (man sieht das eh im debugger)
Hatte auch mal eon änliches Problem .. bei mir hats so ausgesehen
Forall o In doc.EmbeddedObjects
Set handleV = o.Activate(False)
handleV.SaveAs("C:\temp\NotesEp.xls")
handleV.Close
Set handleV = Nothing
End Forall
-
... wie das Axel bereits richtig erkannt hat fehlt das Objekt...
ata
-
@Myron
Ich denke nicht, dass man das "Set" weglassen kann.
Auszug aus der Designer - Hilfe:
Syntax
Set handleV = notesEmbeddedObject.Activate( show )
Axel
-
@Axel
habe zu schnell reagiert und mich geirrt! Hast recht, das braucht man! Wurde schon ausgebessert!
Grüße
-
Hallo Axel,
vielen Dank, da hätte ich lange suchen müssen,
da wäre ich nie drauf gekommen. Ich dachte das sei
der Typ und kein Name. :-)
Hi,
ich denke "der Hund liegt hier gegraben".
Set object = rtitem.GetEmbeddedObject("Microsoft Word Document")
Als Parameter erwartet die Methode einen Dateinamen. Ich denke mal das es so ausehen sollte:
Set object = rtitem.GetEmbeddedObject("document.doc")
Stimmt, da liegt der Hase im Pfeffer. Hardkodiert funktioniert die Sache auch. In welche Richtung muss ich suchen, damit ich von meinem Attachment den Namen bekomme ?
Die sollen ja nicht alle gleich heissen .
-
Hi,
ich hab das mal so gemacht:
Dim strDateiname As String
...
Set rtitem = doc.GetFirstItem("Body")
If rtitem.Type = RICHTEXT Then
Forall objects In rtitem.EmbeddedObjects
If objects.Type = EMBED_ATTACHMENT Then
strDateiname = objects.Source
End If 'If objects.Type = EMBED_ATTACHMENT
End Forall 'Forall objects In rtitem.EmbeddedObjects
End If 'If rtitem.Type = RICHTEXT
Messagebox strDateiname
...
Axel
-
@Axel
Auch noch Sourcecode direkt zum übernehmen,
das ist ja vom Feinsten.
Schnell noch das mergedoc angepasst und nun klappts
auch.
Da sage ich ganz herzlich Danke Schön.
Ciao
Don Pasquale