AW: Excele sheet Mailversand mit Lotus Notes
27.06.2005 14:27:26
JensM
Hallo Walter,
ich habe auch lange hier und auch im Internet gesucht und mir was zusammengestöpselt. Notes ist immer so'ne Sache. Gibt auch verschiedene Wege...
Also: In Bsp 1 wird ein Teil aus einer Tabelle kopiert und in ein Mail reingesetzt.
in Bsp 2 wird ne Tabelle rangehängt. (Notes darf nicht gesperrt sein (z. B. automatische ID_Sperre alle paar Minuten und du benötigst genaue Info über deine USER-Namen und die Server).
Mit mehr als 3 Empfängern klappt in Bsp 1 der Versand nicht (warum weiß ich nicht).
Probier man mal ...
Viel Spaß,
Jens
(1)
Sub SendNotesMail()
Dim CN, UserName, MailFile As String
Dim workspace As Object
Set workspace = CreateObject("Notes.NotesUIWorkspace")
Dim session As Object
Set session = CreateObject("Notes.NotesSession")
CN = session.COMMONUSERNAME
UserName = "Walter ..." 'Dein User
Set session = Nothing
MailFile = "mail\<walter... >.nsf" 'frage mal, wie deine genaue Bezeichnung ist.
Call workspace.OPENDATABASE("<hier Server-Bezeichnung>", MailFile) 'Servernamen erfragen
'Hier wähle ich ein Blatt einer bestimmten Datei aus, die unter Workbooks.open steht
B = InputBox("Bitte Tabellenblatt angeben; z. B. 03-2004:")
If B = "" Then Exit Sub
Workbooks.Open "K:\ ... .xls"
Worksheets(B).Activate
Range("A2:M14").Copy 'der genannte Bereich wird kopiert (für den Versand)
Dim NotesUIDoc As Object
Set NotesUIDoc = workspace.COMPOSEDOCUMENT("", "", "Memo")
Call NotesUIDoc.FIELDSETTEXT("SendTo", "Jürgen ... ,Jan ... ,Gerd ... ") 'NotesEmpfangsadresse eingeben
Call NotesUIDoc.FIELDSETTEXT("Subject", "Betreff bla bla ")
NotesUIDoc.GOTOFIELD "Body"
NotesUIDoc.Paste
NotesUIDoc.SEND
NotesUIDoc.Close
'Clean it up
Set NoteUIDoc = Nothing
Set workspace = Nothing
'Zwischenablage leeren:
Application.CutCopyMode = False
Workbooks(" ... .xls").Close savechanges:=False 'die Datei ohne Änderungen wieder schließen
MsgBox "Mail versandt!"
End Sub
(2)
Sub Mailversand_Tabelle()
Dim Maildb As Object
Dim MailDbName As String
Dim MailDoc As Object
Dim session As Object
Dim Recipient As String
Dim EmbedObj As Object
Dim AttachME As Object
Set session = CreateObject("Notes.NotesSession")
Set Maildb = session.CURRENTDATABASE
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
m = InputBox("Bitte Mailempfänger eingeben:")
If m = "" Then Exit Sub
On Error Resume Next
MailDoc.Form = "Memo"
Recipient = m
[ bzw. + Notes-Adresse z.B.: Recipient = m & "/Name/DE@Name" ]
MailDoc.sendto = Recipient
MailDoc.CopyTo = ""
MailDoc.Subject = "Betreff bla bla"
MailDoc.SAVEMESSAGEONSEND = True
Set AttachME = MailDoc.CREATERICHTEXTITEM("K:\... .xls") 'zu versendende Datei eingeben
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", "K:\... .xls")
MailDoc.CREATERICHTEXTITEM ("K:\... .xls")
MailDoc.PostedDate = Now()
MailDoc.SEND 0, Recipient
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set session = Nothing
Set EmbedObj = Nothing
MsgBox "Mail versandt!"
End Sub