Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Mail in Windows-Ordner ablegen

Begonnen von gromax, Oktober 25, 2015, 16:50:02

⏪ vorheriges - nächstes ⏩

gromax

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


gromax

Hallo Franz,

vielen Dank für die Unterstützung; ich mach mich auf den Weg und lass wieder von mir hören!

Danke
gromax

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