Domino 9 und frühere Versionen > Entwicklung
Problem mit Wordobject
Colibri:
Hallo,
habe folgenden code in einer Maskenaktion
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Dim maildb As New NotesDatabase("","")
Dim maildoc As Notesdocument
Dim mailuidoc As Notesuidocument
Dim uidoc As NotesUIDocument
Dim wordobj As Variant
Dim obj As NotesEmbeddedObject
Dim rtitem As NotesRichTextItem
Dim temp As String
Set uidoc = ws.currentdocument
Call uidoc.Refresh(True)
Call uidoc.save
temp = Environ$ ("temp")
Set wordobj = uidoc.GetObject( "Word" )
wordobj.SaveAs(temp + "\dokument.doc")
Call uidoc.close
Call maildb.openmail
Set maildoc = maildb.CreateDocument
maildoc.Form = "Memo"
Set rtitem = New NotesRichTextItem(maildoc, "body")
Set obj = rtitem.EmbedObject(EMBED_ATTACHMENT, "" , temp + "\dokument.doc")
Set mailuidoc = ws.EditDocument(True, maildoc)
End Sub
An 30 PC's funktiniert das Problemlos, aber an 4 kommt die Fehlermeldung "Variant does not contains an object" und zwar bei der Zeile wordobj.SaveAs(temp + "\dokument.doc") Auf allen PC's ist Word 2000 installiert, das Betriebssystem ist Win2000 oder WinXP. Woran könnte das liegen?
koehlerbv:
Das sieht stark nach einer unvollständigen Installation von Word aus - das OS weiss mit dem Object "Word" nix anzufangen.
Bernhard
thoge:
Hallo Colibri,
hast Du bei den 4 PCs mal nachgeschaut, ob die die Umgebungsvariable "temp" überhaupt gesetzt haben?
Einstellungen -> Systemsteuerung -> System -> Erweitert -> Umgebungsvariablen
Gibt es dort einen Eintrag ala TEMP = C:\WINNT\TEMP
HTH
Thomas
koehlerbv:
@Thomas:
Das kann's nicht sein, denn die Variable temp ist ein String und kein Variant. Ausserdem würde Environ$ einen Leerstring im von Dir skizzierten Szenario liefern.
Nicht instantiiert lt. Fehlermeldung ist "wordobj" ...
Bernhard
Semeaphoros:
Na ja, das ist die eine Variante, es kann ja auch sein, dass Word selber einen Fehler macht. Könnte mir vorstellen, dass in den 4 Installationen Word so eingestellt ist, dass beim Oeffnen nicht automatisch ein leeres Doc aufgeht, und dann könnte das Wordobj das Dokument mangels Existenz nicht speichern. Weiss nicht, was dann für ein Fehler kommt, aber Objekt nicht vorhanden wäre da durchaus logisch.
Colibri: was sagt den der Debugger zur Variablen Wordobj, ist die instantiiert? Du könntest ja mal nach dem
Set wordobj = uidoc.GetObject( "Word" )
noch so etwas einsetzen:
if wordobj is nothing then
Print "Objekt konnte nicht erstellt werden"
exit sub
End if
oder sowas ähnliches.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln