Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
176to180
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
176to180
176to180
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Email aus Excel mit Lotus Notes (Statusabfrage)

Email aus Excel mit Lotus Notes (Statusabfrage)
03.11.2002 22:35:10
Christian Wimmer
Hallo NG,

beim Versenden von Emails aus Excel über Outlook ist die Statusabfrage, ob die Mail gesendet wurde oder nicht einfach:

Sendestatus = Application.Dialogs(xlDialogSendMail).Show(Empfaenger, Betreff, False)

Wie kann ich das Gleiche beim Versenden von Emails aus Excel über Lotus Notes machen?

Bei meiner Recherche im Archiv habe ich den untenstehenden Code für das Versenden von Emails aus Excel heraus über Lotus Notes gefunden.
(Habe keine Ahnung von Lotus Notes, aber die neue Firma in die ich gewechselt habe, besitzt kein Outlook).

Ist es möglich (wenn ja wie) den Programmcode so zu ändern, um eine Statusabfrage einzubauen? Bin für jede Tipp oder noch besser Programmcode dankbar, der mir diese Statusabfrage ermöglicht.


'Public Sub SendNotesMail(Subject as string, attachment as string,recipient as string, bodytext as string,saveit as Boolean)
'This public sub will send a mail and attachment if neccessary to the
'recipient including the body text.
'Requires that notes client is installed on the system.

Public Sub SendNotesMail(Subject As String, Attachment As String, Recipient As String, BodyText As String, SaveIt As Boolean)
'
' (C) Christian Wimmer, Oktober 2002
'
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 Object '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
MailDoc.Form = "Memo"
MailDoc.sendto = Recipient
MailDoc.Subject = Subject
MailDoc.Body = BodyText
MailDoc.SAVEMESSAGEONSEND = SaveIt
'Set up the embedded object and attachment and attach it
If Attachment <> "" 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
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing
End Sub

Vielen Dank im Voraus für Eure Bemühungen.

Christian

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Email aus Excel mit Lotus Notes (Statusabfrage)
04.11.2002 10:29:52
frank
Versuche mal die Variable Maildoc.$Mailer auszulesen. Wenn ich so in meinem Notes-Postkasten durchsuche, wird die erst nach dem Senden beschrieben (Füllt sich dann mit der Notes-Version). Vorher ist die noch leer. Eine Variable wie "sent" oder so scheint es nicht zu geben.
Re: Email aus Excel mit Lotus Notes (Statusabfrage)
04.11.2002 10:54:53
frank
Sorry so einfach funktioniert es nicht.

Du musst die Variable wie folgt auslesen:

d=MailDoc.GetItemvalue("$Mailer")

So sollte es funktionieren.

Re: Email aus Excel mit Lotus Notes (Statusabfrage)
05.11.2002 10:01:20
Christian Wimmer
Hallo Frank,

vielen Dank für den Tipp,

leider funktioniert er bei mir nicht, den die Variable d ist im Debug Modus nicht auslesbar (ich habe auf Grund Deiner ersten Mail angenommen, wenn sich "d" mit der Notes-Version füllt, daß "d" dann ein String-Typ ist).

Bsp.:

d = MailDoc.GetItemvalue("$Mailer")
If d <> "" Then
MsgBox ("Gesendet " & d)
Else
MsgBox (d)
End If

Vielleicht hast Du ja noch eine Idee, wie ich doch noch auf einen "grünen Zweig" kommen kann.

Auf alle Fälle einmal Danke für Deine Tipps.

Christian

Anzeige
Re: Email aus Excel mit Lotus Notes (Statusabfrage)
05.11.2002 11:21:20
frank
Hallo!

Nach meinen Versuchen mit Notes ist $Mailer ein Feld im Dokument, das erst beim Senden der Mail erstellt wird. Das heißt, wenn die Mail noch nicht gesendet wurde, sollte die Abfrage einen Fehler produzieren. Nach dem Senden steht wie gesagt die Notes-Version drin.

Wenn ich mir deinen VBA-Code ansehe, beschreibst du die Felder im Notes-Dokument direkt. Vielleicht kann man die Variable ja doch direkt auslesen.
Versuche doch mal d=maildoc.$Mailer

$Mailer ist auf jeden Fall ein String (lt. Notes).

Eine andere Möglichkeit ist, dass du nach dem Senden der Mail den Bezug zum Dokument verlierst, so dass dein MailDoc-Objekt danach leer ist. Obwohl das unwahrscheinlich ist.

Ich hatte mich auch nochmal mit einem anderen "Notes-Kenner" unterhalten. Aber der sah auch keine andere Möglichkeit. Es gibt bei Notes leider kein Feld, das den Sende-Status anzeigt.

Viel Glück, vielleicht klappt das ja.

Frank

Anzeige
Re: Email aus Excel mit Lotus Notes (Statusabfrage)
05.11.2002 12:10:37
frank
Hab noch eine Möglichkeit gefunden:

Das Feld "posteddate" wird erst beim versenden gesetzt, vorher ist es leer. Danach sortiert Notes die Dokumente auch in die Entsprechenden Ansichten (Ordner).

folgende Abfrage sollte funktionieren:

d=Maildoc.getitemvalue("PostedDate")

Und noch wa;s getItemvalue gibt ein Array mit unbestimmter Größe zurück. Daher sollte d ein Variant sein. Den Wert findest du dann unter d(0).

Hab noch ein wenig mit $Mailer rumprobiert und festgestellt, dass dieses Feld nicht besonders geeignet ist.

Die Abfrage mit GetItemValue scheint aber nötig zu sein.

Anzeige
Re: Email aus Excel mit Lotus Notes (Statusabfrage)
05.11.2002 13:36:32
frank
Ja, hab grad gesehen, dass du die Variable selber setzt. Dann fällt die also auch weg.

In der Notes-Hilfe steht noch ein Feld das "$AssistMail" heißt. Dieses Feld soll lt. Hilfe wirklich erst beim Senden erstellt werden. Vielleicht hilft das Feld weiter. Was drin steht, kann ich nicht sagen, weil ich es nicht in der Feld-Übersicht finde.

Auf jeden Fall gilt, dass GetItemvalue ein Array zurück gibt.

Re: Email aus Excel mit Lotus Notes (Statusabfrage)
05.11.2002 15:22:36
Christian Wimmer
Hallo Frank, das ist ja verdammt viel Holz, das Du mir da vor die Nase knallst:-). Da hab ich ja bis morgen zu tun, das ganze auszuprobieren. Werde als erstes gleich mal diese Variant Variable "zerlegen".

Nochmals vielen Dank für Dein Angagement bei meinem Problem.

Christian

Anzeige

132 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige