Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
208to212
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
208to212
208to212
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

E-Mail aus Excel über Lotus Notes

E-Mail aus Excel über Lotus Notes
24.01.2003 20:34:36
Wolfgang
Hallo ExcelFreunde
Eine Mail aus Excel (mit VBA die Aktive Mappe) über Outlook zu versenden ist Ok.
Kennt jemand eine Lösung,daß das auch über das Mail Programm
Lotus Notes funktioniert? (Windows NT)
Ich wäre über jeden Tipp dankbar
Wolfgang

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: E-Mail aus Excel über Lotus Notes
24.01.2003 20:45:40
peter
Eine Mail (ohne Dateianhang) über das installierte Standartmailprogramm zu versenden ist kein Problem. Schau mal bei Herbers Excel-Recherche unter Verwendung des Begriffs "Standartmailprogramm" vorbei...

Re: E-Mail aus Excel über Lotus Notes
24.01.2003 20:50:48
Bertram
Hallo Wolfgang,

hier die einfachste Variante. Hierbei muss Lotus Notes und deine Inbox geöffnet sein.


Sub SendNotesMail()

Dim Maildb As Object
Dim UserName As String
Dim MailDbName As String
Dim MailDoc As Object
Dim Session As Object
Dim Recipient As String

Set Session = CreateObject("Notes.NotesSession")
Set Maildb = Session.currentdatabase
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
Recipient = ""
MailDoc.sendto = Recipient
MailDoc.Subject = ""
MailDoc.Body = "Was auch immer"
MailDoc.SAVEMESSAGEONSEND = True
MailDoc.PostedDate = Now()
MailDoc.Send 0, Recipient
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing
End Sub

     Code eingefügt mit Syntaxhighlighter 1.14

Gruß
Bonte

Anzeige
Re: E-Mail aus Excel über Lotus Notes
24.01.2003 21:00:47
Wolfgang
Hallo Peter
Ich habe in den recherchen schon gesucht ,nur leider nichts passendes gefunden.
Deinem Hinweis folgeng war ich soeben bei deinem genannten Thema
nur da wird ein anderes Thema (Text-Datei importieren Dialog )behandelt?
vieleicht hast du noch einen hinweis
gruß wolfgang
Re: E-Mail aus Excel über Lotus Notes
24.01.2003 21:05:03
peter
Hallo Bertram,
super Code!!
Sag mal:
Kennst Du zufällig auch eine Lösung, wie man eine E-Mail (mit Dateianhang!!) über das installierte Standartmailprogramm versendet.
Mit Outlook ist es mir schon klar, doch mich stört die Einbindung des Verweises auf die entsprechende Outlook-Objektbibliothek.
Sozusagen ein universeller SendMail auf allen Windows-Plattforemen - egal welches Mailprogramm vorhanden ist...
Gruß
Peter
Anzeige
Re: E-Mail aus Excel über Lotus Notes
24.01.2003 21:05:53
peter
Ich poste den Code gleich ins Forum (moment-muss suchen...)
Re: E-Mail aus Excel über Lotus Notes
24.01.2003 21:06:59
Wolfgang
Hallo bonte
-- inbox -- was meinst du damit?
Ansonsten hab ich so verstanden das die mail gesendet wird wenn Lotus Notes geöffnet ist.
wolfgang
Sorry
24.01.2003 21:12:02
Bertram
Hallo Peter,

leider kann ich nur mit Makros bezgl. Lotus Notes dienen. Da hab ich (auch mit Hilfe der Foren) ziemlich lang gebastelt.

Gruß
Bonte

Re: E-Mail aus Excel über Lotus Notes
24.01.2003 21:13:58
Bertram
Hello again,

ich hab die englische Version von Lotus Notes. Falls die deutsche Version so ist, wie Outlook, dann meine ich dein Postfach(da wo die Post reinkommt:-))

Gruß
Bonte

Anhang
24.01.2003 21:16:25
Bertram
Hallo Peter,

falls gewünscht, kann ich dir auch das Makro geben, das den Anhang einfügt.

Gruß
Bonte

Anzeige
Re: E-Mail aus Excel über Lotus Notes
24.01.2003 21:16:47
peter
Dieser Code öffnet das Standartmailprogramm und füllt die Felder Empfänger, Betreff und Nachrichtentext aus.
Lege diesen Code in ein Modul und passe ihn nach Deinen Anforderungen an.
Leider habe ich bislang noch keine Lösung zum Versenden eines Attachements für diese Methode gefunden.
Aber vielleicht findet sich ja jemand in diesem Forum...

Private Declare Function ShellExecute Lib "Shell32.dll" _
Alias "ShellExecuteA" (ByVal hWnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long

Private Sub Mail(eMail As String, Optional Subject As String, _
Optional Body As String)
Call ShellExecute(0&, "Open", "mailto:" + eMail + _
"?Subject=" + Subject + "&Body=" + Body, "", "", 1)
End Sub

Sub MailSenden_Click()
Dim eMail As String, Subject As String, Body As String
eMail = "poststelle@max-mustermann.de"
Subject = "Dies ist die Betreffzeile"
Body = "Dies ist der Nachrichtentext"
Call Mail(eMail, Subject, Body)
End Sub

Anzeige
Re: E-Mail aus Excel über Lotus Notes
24.01.2003 21:19:51
Wolfgang
Hi
Naja ...
Danke Bonte
Nur her mit dem Makro...
24.01.2003 21:23:26
peter
Ich sammle gerne VBA-Code. Man kann ja nie wiessen, was man übermorgen benötigt.
Meine Mail: poststelle@billbz-bodensee.de
Danke im Vorraus.

Gruß
Peter

Re: Nur her mit dem Makro...
24.01.2003 21:38:05
Bertram
Hallo Peter,

ich stelle den Code lieber hier ins Forum, dann habe mehr Leute was davon. Der Code ist (wie unschwer zu erkennen) nur ein Teil meiner kompletten Programmierung. Unötiges ist einfach zu löschen. Falls Fragen sind, einfach posten.


Private Sub CmdSend_Click()

Dim session As Object
Dim db As Object
Dim doc As Object
Dim strTo As Variant
Dim strPath As String
Dim EmbedObj As Object
Dim AttachME As Object

Dim Recipients() As String
Dim Namen As String
Dim NamenNeu As String
Dim j As Integer

strTo = Array(cstrTo, Me.lblUser2.Caption)

'Pfadeingabe zum zwischenspeichern
Do
    strPath = InputBox("Please enter a valid pathname" & vbCrLf & "to save the file temporarily:", _
        "Save CI", "C:\")
    'Falls das letzte Zeichen ein Backslash ist, diesen löschen
    If Right(strPath, 1) = "\" Then strPath = Left(strPath, Len(strPath) - 1)
    'Prüfen, ob dieser Pfad existiert
    If Dir(strPath, vbDirectory) = "" Then Warning = MsgBox("This is no valid path." _
        & vbCrLf & "Please check!", vbCritical, "Path not found")
Loop Until Dir(strPath, vbDirectory) <> ""
With Application
    .ScreenUpdating = False
    .SheetsInNewWorkbook = 2 'Einstellung, dass bei neuer Arbeitsmappe 2 Tabellen vorhanden sind.
End With
Workbooks.Add 'Neue Datei mit 2 Arbeitsmappen erstellen
ActiveWorkbook.SaveAs strPath & "\CI Temp", xlWorkbookNormal 'Arbeitsmappe speichern
Application.SheetsInNewWorkbook = 3 'Zürücksetzen auf 3 Tabellen bei neuer Arbeitsmappe

'Daten in Zeile 1 übertragen
Sheets(1).Name = "Name"
Range("A1").Value = Me.lblCNo.Caption
Range("B1").Value = Me.txtMaterialNo.Value
Range("C1").Value = Me.txtOrderNoCustomer.Value
Range("D1").Value = Me.txtOrderNoCFS.Value
Range("E1").Value = Me.txtAffectedQ.Value & Me.lblAQ.Caption
Range("F1").Value = Me.txtDeliveredQ.Value & Me.lblDQ.Caption
Range("G1").Value = Me.lblUser2.Caption
Range("H1").Value = Me.lblDate2.Caption
Range("I1").Value = Me.txtWeb.Value
Range("J1").Value = Me.txtSBWidth.Value
Range("K1").Value = Me.txtSBlength.Value
Range("L1").Value = Me.txtCosts.Value
Range("M1").Value = Me.txtInspector.Value
Range("N1").Value = Me.txtMatInspDate.Value
Range("O1").Value = Me.txtSample.Value
Range("P1").Value = Me.txtMatSampDate.Value
Range("Q1").Value = Me.cboPSMKempten.Value
Range("R1").Value = Me.txtReason.Value
Range("U1").Value = Me.cboCC.Value
Range("V1").Value = Me.txtCustomerName.Value
Range("W1").Value = Me.txtOrderNoCC.Value
Range("X1").Value = Me.txtPos.Value
Range("Y1").Value = Me.txtMaterialName.Value
Range("Z1").Value = Me.txtPSM.Value

'Nummernzuweisung für Materialart für Statistik der Datenbank
If Me.opt3D = True And Me.optSB = True Then Range("AA1").Value = "1"
If Me.opt3D = True And Me.optConverter = True Then Range("AA1").Value = "2"
If Me.optFF = True Then Range("AA1").Value = "3"
If Me.optXPP = True Then Range("AA1").Value = "4"

Range("AB1").Value = Me.chkMaterialDefect.Value
Range("AC1").Value = Me.chkDelivery.Value
Range("AD1").Value = Me.chkTransport.Value
Range("AE1").Value = Me.chkOthers.Value
Range("AF1").Value = Me.cboTBM.Value

'Chargennummern in 2. Tabellenblatt Spalte A übernehmen
Sheets(2).Name = "Name2"
Sheets(2).Activate

Call Chargennummern(Charge.txtBoxNo.Value & ";")

With Workbooks("CI Temp.xls")
    .Save
    .Close
End With
'Zweite Arbeitsmappe für Complaint Inquiry als Anhang
With ActiveWorkbook.Sheets("Inquiry")
    .Visible = True
    .Activate
    .Copy
    .Visible = xlVeryHidden
End With
With ActiveWorkbook
    .SaveAs strPath & "\CI", xlWorkbookNormal
    .Close
End With

Application.ScreenUpdating = False

ReDim Recipients(10) 'Empfängerfeld dimensionieren

'PM (Recipients(0)) auswählen
If Me.opt3D = True Then
    Recipients(0) = "Name1"
Else
    Recipients(0) = "Name2"
End If

'PSM Kempten als Recipients(1)
Recipients(1) = Me.cboPSMKempten.Value
'Sachbaerbeiter als Recipients(2)
Recipients(2) = Me.cboSachbearbeiter.Value
i = 3 'für Recipients(3)
Namen = Me.txtPSM.Value & ","
Do
    NamenNeu = LTrim(Right(Namen, (Len(Namen) - InStr(1, Namen, ","))))
    Recipients(i) = Left(Namen, InStr(1, Namen, ",") - 1)
    i = i + 1
    Namen = NamenNeu
Loop Until InStr(1, Namen, ",") = 0
Recipients(i) = Namen 'letzten Namen übernehmen

ReDim Preserve Recipients(i) 'Empfängerfeld redimensionieren

'Mail erstellen
Set session = CreateObject("Notes.NotesSession")
Set db = session.CURRENTDATABASE

On Error Goto Fehler
Set doc = db.CREATEDOCUMENT
doc.Form = "Memo"
doc.Subject = cstrBetreff
doc.body = "Text"
doc.CopyTo = Recipients() 'Komplettes Empfängerfeld
doc.SAVEMESSAGEONSEND = True

'Daten zum Auslesen
Set AttachME = doc.CREATERICHTEXTITEM("Attachment")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", strPath & "\CI Temp.xls") ', "Attachment")
'Zweites Attachment - Complaint Inquiry
Set AttachME = doc.CREATERICHTEXTITEM("Attachment")
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", strPath & "\CI.xls") ', "Attachment")

doc.PostedDate = Now()
Call doc.send(True, strTo)
Set db = Nothing
Set doc = Nothing
Set session = Nothing
Kill (strPath & "\CI Temp.xls") 'Datei löschen
Kill (strPath & "\CI.xls") 'Datei löschen
'Info an User
Warning = MsgBox("Complaint Inquiry was sent.", vbInformation, "INFORMATION")
Me.CmdSend.Enabled = False 'Send-Button deaktivieren
Me.lblSend.Enabled = False
Exit Sub

Fehler:
Kill (strPath & "\CI Temp.xls") 'Datei löschen
Kill (strPath & "\CI.xls") 'Datei löschen
Warning = MsgBox("Please change to Lotus Notes and close all databases except your inbox!!" _
    & vbCrLf & vbCrLf & "Confirm this message and click the 'Send Inquiry'-Button again.", _
vbCritical, "ERROR")
End Sub

     Code eingefügt mit Syntaxhighlighter 1.14

Gruß
Bonte

Anzeige
Re: E-Mail aus Excel über Lotus Notes
24.01.2003 21:40:25
Bertram
Na, Wolfgang das klingt ja nicht begeistert. Funktioniet's nun oder nicht?

Schau auch mal weiter unten im Thread.

Gruß
Bonte

Re: E-Mail aus Excel über Lotus Notes
24.01.2003 22:12:06
Wolfgang
Nur weil ich merke wie wenig ich weiß!Nein es hat noch nicht geklappt. Dumm ist nur das ich an einen anderen computer ran muß.
Aber ich versteh auch das macro nnoch nicht?
Wo finde ich den Zugriff auf Lotus notes.Ich muß doch irgendwo den Bezug herstellen?
Vieleich kannste mir noch weitere Hinweise geben?
Auch der untere code ist mir noch nicht verständlich.
wolfgang

Re: E-Mail aus Excel über Lotus Notes
24.01.2003 22:43:50
Bertram
Hallo Wolfgang,

hier Erläuterunen zum Code.
Den Zugang zu Lotus Notes bekmmst du mit

Set session = CreateObject("Notes.NotesSession")

Danach mußt du auf die aktuelle Datenbank zugreifen. Lotus Notes arbeit hauptsächlich mit Datenbanken. Dein Postfach ist eine solche Datenbank.

Set Maildb = session.CURRENTDATABASE

Als nächstes erstellst du ein neues Dokument (Mail)

Set MailDoc = Maildb.CREATEDOCUMENT


Die nächsten Zeilen geben an, welche Einträge wo stehen sollen.

Form = "Memo" bedeutet (bei mir im Englischen) "Neue Mail"
Recipient (maildoc.sendto)= Dein Empfänger
maildoc.copyto = CC
maildoc.body = dein Text

maildoc.savemessageonsend= true
maildoc.posteddate=now() -> In deinem Postausgang wird die Mail sichtbar

maildoc.send ... = deine Mail wird versendet

Anschließend müssen alle Bereiche (set-Anweisungen) wieder auf 'Nothing' gesetzt werden.

Ich hoffe das hilft dir.

Gruß
Bonte

Anzeige
Re: E-Mail aus Excel über Lotus Notes
25.01.2003 19:25:10
Wolfgang
Hallo Bonte
Erst mal danke für die Antwort. Ich werde versuchen den Cod mit Deinen Erklärungen zu verstehen.
Ich bin leider erst wieder in 7 Tagen Online.Wie finde ich Dich, wieder um dir zu sagen boij es hat geklappt oder nochmal eine Frage zu stellen -- wie geht es.
Also nochmal danke für Deine Hinweise.
Wolfgang

132 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige