Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
908to912
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Lotus Notes via VBA

Lotus Notes via VBA
24.09.2007 10:21:14
Frank
Hallo Cracks,
ich habe folgendes Problem mit dem versenden von Mails in LoNo per VBA:
Seit langem benutze ich den Code der unten angegeben ist. Funktioniert prächtig auf mindestens 30 PCs!
Letzte Woche erschien dann während dem Programmieren eine Fehlermeldung. Schnell war das Modul SendNotesMail ausgemacht.
Ich versende dabei für ein Update automatisch eine Mail vom Anwender an mich. Auch das hat im Test vorher bestens funktioniert. Der Code ist noch der gleiche wie auf allen anderen PCs ebenfalls.
Nun geht auf meinem PC das versenden überhaupt nicht mehr, auf anderen PCs mit der gleichen Umgebung funktionert es. Lasse ich meine Datei woanders laufen: OK. Lasse ich andere Dateien bei mir laufen: NOK.
Das Problem (wie ich es erkenne) liegt in der Zeile Set MailDoc = Maildb.CREATEDOCUMENT
Wenn ich das im Einzelschritt auf einem anderen PC beobachte dauert die Ausführung dieses Schritts einen Moment während das bei mir ohne Verzögerung geht.
In der nächsten Zeil MailDoc.Form = "Memo" kommt dann ein Laufzeit Fehler '7063': Database MAIL\F\meine ID.nsf has not been opend yet.
Wer weiß da jetzt eine Rat?
Ich bin mit meinem Latein am Ende...
vorab 1000 Dank
Frank
~t~

Public Sub SendNotesMail(Subject, Recipient, BodyText, Attachment) '(Subject As String,  _
Attachment As String, Recipient As String, BodyText As String, SaveIt As Boolean) 'Set up the  _
objects required for Automation into lotus notes
On Error GoTo Fehler
Dim Maildb As Object 'The mail database
Dim UserName As String 'The current users notes name
Dim MailDbName As String 'THe current users notes mail database name
Dim MailDoc As Object 'The mail document itself
Dim AttachME As Object 'The attachment richtextfile object
Dim session As Variant 'The notes session
Dim EmbedObj As Object 'The embedded object (Attachment)
'Start a session to notes
Set session = CreateObject("Notes.NotesSession")
'Get the sessions username and then calculate the mail file name
'You may or may not need this as for MailDBname with some systems you
'can pass an empty string
UserName = session.UserName
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) &  _
_
".nsf"
'Open the mail database in notes
Set Maildb = session.getdatabase("", MailDbName)
If Maildb.ISOPEN = True Then
'Already open for mail
Else
Maildb.OPENMAIL
End If
'Set up the new mail document
Set MailDoc = Maildb.CREATEDOCUMENT     "" Then
Set AttachME = MailDoc.CREATERICHTEXTITEM(Attachment)
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "Attachment")
MailDoc.CREATERICHTEXTITEM ("attachment")
End If
'Send the document
MailDoc.PostedDate = Now() 'Gets the mail to appear in the sent items folder
MailDoc.SEND 0, Recipient
'Clean Up
MsgBox "Die Mail wurde an " & Recipient & " versendet!", vbInformation, "Mailversand"
Unload MailVersenden
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set session = Nothing
Set EmbedObj = Nothing
Exit Sub
Fehler:
Text = "Mail versenden. Empfänger: " & Recipient
Call ErrorHandler(Text)
End Sub


~t~

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Lotus Notes via VBA
24.09.2007 10:58:30
Bertram
Hallo Frank,
bei mir funktioniert dein Code einwandfrei. Diese Zeile brauchst du meinses Erachtens nicht:
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf"
Wenn du sie auskommentierst ändere diese Zeile:
Set Maildb = session.getdatabase("", MailDbName)
in:
Set Maildb = session.getdatabase("", "")
Das funktioniert auch. Ansonsten sehe ich keinen Fehler.
Gruß
Bertram

AW: Lotus Notes via VBA
24.09.2007 11:06:52
Frank
Hallo Bertram,
zunächst danke, Ergebnis ist aber negativ, gleiche Fehlermeldung.
Zum Verständnis, der Code ist aus dem IBM Notes-Forum. Wir arbeiten alle im Netz.
Wer weiß noch was?

Anzeige
AW: Lotus Notes via VBA
24.09.2007 11:26:00
Bertram
Hallo Frank,
vielleicht hilft es CREATEDOCUMENT zu vermeiden. Mal als Bsp:

Sub SendScreenshot()
Dim uiworkspace As Object
Dim uidoc As Object
Set uiworkspace = CreateObject("Notes.NotesUIWorkspace") 'Zugriff auf UIWorkspace
Set uidoc = uiworkspace.COMPOSEDOCUMENT("", "", "Memo") 'Erstellt neues Dokument (sprich Mail  _
unter Vorlage "Memo" )
With uidoc
.GOTOFIELD ("To")
.INSERTTEXT ("NN@whatever.com")
.GOTOFIELD ("Subject")
.INSERTTEXT ("Das ist ein Test")
.GOTOFIELD ("Body")
.INSERTTEXT ("Hier steht auch noch was")
.SEND
.Close
End With
Set uiworkspace = Nothing
Set uidoc = Nothing
End Sub


Gruß
Bertram

Anzeige
AW: Lotus Notes via VBA
24.09.2007 15:14:00
Frank
Hallo Leute,
wer weiß noch Rat?

153 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige