Liebe Access-Profis,
nach längerer Auszeit arbeite ich wieder an der DB für die Schulverwaltung weiter; aus der Access-DB rufe ich Outlook auf und generiere eine Mail, die dann nur noch gesendet werden muss. Funktioniert prima!
Private Sub btn_OutlookErinnerung_Click()
Dim myMail As Outlook.MailItem
Dim myOutlApp As Outlook.Application
Dim strMailPath As String
Dim strMailPathName As String
strMailPath = "C:\Test\" 'Speicherpfad
strMailPathName = "Asterix, Obelix _ 01.02.2000" 'generierter Schülerordner unterhalb des Ordners "Test"
Set myOutlApp = New Outlook.Application
Set myMail = myOutlApp.CreateItem(olMailItem)
With myMail
.To = DLookup("[EIN_Mail]", "tbl_EINRICHTUNGEN", "EIN_PS =" & Forms!frm_SCHUELER03!frm_Schueler_ufoBearbeitung03.Form!BEA_AuftragSchule)
.Subject = "Gutachten zu " & DLookup("[SuS_Name]", "tbl_SCHUELER", "SuS_PS =" & Forms!frm_SCHUELER03!frm_Schueler_ufoBearbeitung03.Form!SuS_FS)
.Body = "Textbaustein"
End With
Set myMail = Nothing
Set myOutlApp = Nothing
End Sub
Jetzt stehe ich vor dem Problem, diese Mail in dem für den Schüler angelegten WINDOWS-Ordner (hier: Asterix, Obelix _ 01.02.2000) als .msg-Datei - oder auch als .txt-Datei - abzuspeichern.
Ich finde im Netz viel über das Abspeichern von Mail-Anhängen; mir geht es aber um das Speichern der Mail mit Body-Text und Datum des Versands.
Für Hilfe bedanke ich mich vorab!
gromax
Hallo,
MS hilt auch (manchmal): ;)
siehe: https://msdn.microsoft.com/de-de/library/office/ff868727(v=office.15).aspx
Hallo Franz,
vielen Dank für die Unterstützung; ich mach mich auf den Weg und lass wieder von mir hören!
Danke
gromax
Hallo Franz,
Dein Tipp hat mir sehr geholfen! Vielen Dank!
Anbei sende ich meinen Code, mittels dem ich eine Mail aus einem Formular heraus generiere und sie gleichzeitig in einem WINDOWS-Ordner ablege. Funktioniert prima!
Private Sub btn_OutlookMahnung_Click()
Dim myMail As Outlook.MailItem
Dim myOutlApp As Outlook.Application
Dim strSoSPfad As String
Dim DB As DAO.Database
Dim rs As DAO.Recordset
Dim lngConnect As Long
Set DB = CurrentDb
Set rs = DB.OpenRecordset("SELECT DISTINCT database" _
& " FROM msysObjects" _
& " WHERE Type = 6", dbOpenDynaset)
lngConnect = rs.RecordCount
If lngConnect > 0 Then
strSoSPfad = CurrentDb.TableDefs("tbl_SCHUELER").Connect
strSoSPfad = Mid(strSoSPfad, 11)
strSoSPfad = Left(strSoSPfad, InStrRev(strSoSPfad, "\")) & "Bestand\"
Else
strSoSPfad = CurrentProject.Path & "\Bestand\"
End If
strSoSPfad = strSoSPfad & SuS_Name & " _ " & SuS_GebDat
Set myOutlApp = New Outlook.Application
Set myMail = myOutlApp.CreateItem(olMailItem)
If Dir(strSoSPfad, vbDirectory) = "" Then
Call MsgBox("Es besteht kein Ordner für diesen Schüler!" _
& vbCrLf & "Bitte richten Sie zuerst einen Ordner ein, so dass" _
& vbCrLf & "diese Mail dann auch gespeichert werden kann!", vbOKOnly + vbInformation, "Mail-Versand wird unterbrochen")
Exit Sub
End If
With myMail
.To = DLookup("[EIN_Mail]", "tbl_EINRICHTUNGEN", "EIN_PS =" & Forms!frm_SCHUELER03!frm_Schueler_ufoBearbeitung03.Form!BEA_AuftragSchule)
.Subject = "Gutachten zu " & DLookup("[SuS_Name]", "tbl_SCHUELER", "SuS_PS =" & Forms!frm_SCHUELER03!frm_Schueler_ufoBearbeitung03.Form!SuS_FS)
.Body = Textbaustein
.Display
.SaveAs (strSoSPfad) & "\" & SuS_Name) & " Nachfrage Gutachten.msg"
End With
Set myMail = Nothing
Set myOutlApp = Nothing
End Sub
Der Speicher-Code lautet wie folgt:
.SaveAs (strSoSPfad) & "\" & SuS_Name) & " Nachfrage Gutachten.msg"
Vielleicht interessiert das auch noch andere?!
Viele Grüße
gromax