Das Notes Forum
Lotus Notes / Domino Sonstiges => OLE/COM-Programmierung => Thema gestartet von: : Wolfgang am 23.06.10 - 18:45:29
-
Hallo @alle,
ich bin neu hier im Forum und habe mal eine Frage.
Ich muss von einer Access Anwendung heraus eine Mail mit Empfänger(n), Text, Anhang, erzeugen, aber noch nicht senden, da der Anwender bei einigen Fällen noch Text von Hand dazu schreiben möchte.
Folgenden Code habe ich hier aus dem Forum vom Mitglied "Fedaykin" verwendet.
Ist eigentlich ein VBS Code, läuft aber unter Access VBA, bis auf einen Punkt problemlos.
Wenn ich die Prozedur zum ersten Mal aufrufe, bekomme ich die Fehlermeldung "Error -2147417851 Automatisierungsfehler Ausnahmefehler des Servers".
Aber nur beim ersten Mal, danach nie mehr. Trotz der Fehlermeldung wird das Mail aber erzeugt. Der Posteingang ist übrigens geöffnet.
Jetzt habe ich herausgefunden, daß dieser Fehler nicht auftritt, wenn ich vorher einmal zu Notes wechsle, also das Notes Fenster muss einmal den Focus gehabt haben, dann klappt alles.
Da ich den Code nicht wirklich vollständig verstehe, würde ich normalerweise sagen, "Finger davon lassen", aber der macht halt so schön genau das was ich brauche.
Wär irgenwie schade.
Ich habe nur den Client auf meinem Rechner. Version 7. In Access sind die zwei Verweise,
"Lotus Domino Objects " und "Lotus Notes Automation Classes" ausgewählt.
Wäre schön, wenn vielleicht jemand eine Idee hätte.
Danke schon mal im Voraus
Gruß Wolfgang
Hier der Code aus diesem Forum:
Dim maildb 'As NotesDatabase' 'Die Maildatenbank
Dim doc 'As NotesDocument' 'Maildokument
Dim attachme 'As NotesRichTextItem' 'Anhang Richtext
Dim session 'As NotesSession' 'Notes Session
Dim embedobj 'As NotesEmbeddedObject' 'Eingebettest Objekt
Dim ws 'AS NotesUIWorkspace' 'Front-End-User-Interface
dim profile 'As NotesDocument
dim rtsignature 'As NotesRichTextItem
dim rtBody 'As NotesRichTextItem
dim bolSignaturEnabled 'As Boolean
dim uidoc 'As NotesUIDocument
set session = CreateObject("Notes.NotesSession")
set maildb = Session.GetDatabase("","")
maildb.OpenMail
set doc = maildb.CreateDocument
doc.Form = "memo"
doc.sendto = "hans.mustermann@gmx.de"
doc.Subject = "Auftragsbestätigung"
set rtBody = doc.CreateRichTextItem("body")
set attachme = doc.CreateRichTextItem("attachment")
set embedobj = attachme.EmbedObject(1454, "", "C:\Temp\test.vbs", "")
rtBody.appendText "Hier kommt der Text"
rtBody.addnewline 2
'Mailbox Einstellungen
set profile=maildb.getprofiledocument("CalendarProfile")
'Uns interessiert ob Signatur verwendet wird
if profile.GetFirstItem("EnableSignature").Text="1" then
'Signatur wird verwendet
bolSignaturEnabled=True
'Signatur auslesen
set rtsignature=profile.getfirstitem("Signature_Rich")
If rtsignature.Type = 1 Then
'dranhängen
rtBody.appendrtitem rtsignature
'Zeilenumschaltungen
rtBody.addnewline 2
end if
'Nun schalten wir Signatur aus!
profile.EnableSignature=""
profile.save false,false
end if
'Attachment anhängen
rtBody.appendrtitem attachme
'RichTextItem mal Updaten
rtBody.update
'RTItem mit temp. Anhang entfernen
attachme.remove
set ws = CreateObject("Notes.NotesUIWorkspace")
set uidoc=ws.EditDocument(True, doc)
uidoc.GotoField "BODY"
'Haben wir Signatur etwa ausgeschalten
if bolSignaturEnabled then
'Dann wieder ein ;-)
profile.EnableSignature="1"
profile.save false,false
end if
-
Eine Idee habe ich Moment nicht wirklich. Bau mal eine vernüftige Fehlerbehandlung (On Error Goto...) ein. Vielleicht bekommst du da schon die Zeilennummer raus in der der Fehler auftritt.
Du kannst auch den Code mal in Debugger ausführen, da solltest du nähere Infos bekommen an welcher Stelle es klemmen könnte.
Axel
-
Danke für die schnelle Antwort.
An dieser Stelle steigt er aus:
Set uidoc = ws.EDITDOCUMENT(True, doc)
Gruß Wolfgang
-
Ich habe es hier auf die Schnelle mal nachgestellt und kann kein Fehler feststellen. Das Ganze läuft sauber durch. Allerdings verwende ich Access 2010 und Notes 8.5.1. Sollte aber keinen Unterschied machen.
Kannst du das Verhalten nur auf einem PC beobachten oder tritt es generell auf?
Axel
-
Hallo,
ich habe Access 2003 und Lotus Notes 7.
Bis jetzt tritt das Problem nur bei mir auf. Die Lotus Notes und Access Versionen sind überall gleich. Irgendwas ist bestimmt unterschiedlich, aber ich finde nicht raus was.
Gruß Wolfgang
-
In solchen Fällen hilft meistens nur eine Neuinstallation von Office und/oder Notes. Irgendwas ist da wahrscheinlich an der Konfiguration irgendwo verbogen. Das zu finden ist die berühmte Suche nach der Nadel im Heuhaufen. Die kann sehr viel Zeit in Anspruch nehmen. Aus diesem Grund habe ich mir angewöhnt nur eine gewisse Zeit in die Suche zu investieren und dann eine Neuinstallation durchzuführen.
Axel
-
Hallo,
habe Notes neuinstalliert und alles ist Gut.
Du hast recht, so ist es wesentlich schneller gelöst, als stundenlang zu suchen.
Danke für die Hilfe.
Erledigt.
Gruß
Wolfgang