Microsoft Excel

Herbers Excel/VBA-Archiv

Mail als Anhang senden | Herbers Excel-Forum


Betrifft: Mail als Anhang senden von: Bertram
Geschrieben am: 27.01.2012 13:07:32

Hallo zusammen,

wir haben seit Kurzem Office 2010 und sind von Lotus notes auf Outlook 2010 umgestiegen. Das ist auch das erste Mal dass ich mit Outlook was zu tun habe. Habe meine Codes auch schon auf Outlook geändert, möchte aber noch ne Funktion hinzufügen. Allerdings komme ich bei meiner Recherche nicht wirklich vorwärts.

Aus Excel heraus wird eine E-Mail mit Anhängen versendet. Zwei der Anhänge sind fix (bzw. der Pfad bekannt). nun möchte ich noch variable Anhänge haben. Einerseits für Bilder (auch kein Problem, Pfad krieg ich mit Getopenfilename) und dann noch für E-Mails.

Würde gerne in eine Listbox der UF alle Mails der Inbox anzeigen und die geklickte dann als Anhang an die Mail hängen. Kann mir bitte jemand einen Ansatz geben, wie ich an die Mails komme oder an deren Speicherort?

Danke und Gruß
Bertram

  

Betrifft: AW: Mail als Anhang senden von: Bertram
Geschrieben am: 30.01.2012 12:43:56

Nochmal hallo,

habe mir jetzt was zusammengebastelt. Vielleicht geht's auch anders, aber es funktioniert:

Füllen der Listbox mit E-mails:

Private Sub chkMails_Click()

    Application.ScreenUpdating = False
    Set objOutlook = CreateObject("Outlook.Application")
    Set objNSpace = objOutlook.GetNamespace("MAPI")
    Set objFolder = objNSpace.GetDefaultFolder(olFolderInbox)
    intCountMails = objFolder.Items.Count
    If intCountMails > 0 Then
        For i = 0 To intCountMails - 1
            Set objMsg = objFolder.Items(i + 1)
            Me.lboMails.AddItem " "
            Me.lboMails.List(i, 0) = Format(objMsg.ReceivedTime, "dd.mm.YYYY")
            Me.lboMails.List(i, 1) = objMsg.SenderName
            Me.lboMails.List(i, 2) = objMsg.Subject
        Next i
    End If
    Application.ScreenUpdating = True
End Sub
Das Schicken der E-mails als Anhang:
Private Sub cmdOK_Click()

Dim Mail As Object

Set Mail = objOutlook.CreateItem(0)
With Mail
    .GetInspector
    .To = "Bertram"
    .Subject = "Testmail"
    If FAttachment.chkMails Then
        For i = 0 To FAttachment.lboMails.ListCount - 1
            If FAttachment.lboMails.Selected(i) = True Then
                Set objMsg = objFolder.Items(i + 1)
                .Attachments.Add objMsg
            End If
        Next i
    End If
        .Display
'       .Send
End With

Set objNSpace = Nothing
Set objFolder = Nothing
Set objMsg = Nothing
Set objOutlook = Nothing
Set Mail = Nothing

Unload Me
End Sub
Gruß
Bertram


Beiträge aus den Excel-Beispielen zum Thema "Mail als Anhang senden"