Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1636to1640
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
Mail mit Anhang senden
13.08.2018 16:48:10
Marquardt
Hallo,
ich habe Problem mit folgenden Makro.

Sub ExcelMailsenden()
ChDir ThisWorkbook.Path 'anpassen 'oder thisworkbook.path
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
Sheets("1. Mängelanzeige").Range("i1").Value & ".pdf", Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
False
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.createItem(0)
With objMail
.GetInspector     ' sorgt für die Signatur
.To = Sheets("1. Mängelanzeige").Range("A4").Value
.CC = Sheets("1. Mängelanzeige").Range("A5").Value
.BCC = Sheets("1. Mängelanzeige").Range("A6").Value
.Subject = ThisWorkbook.Worksheets("1. Mängelanzeige").Range("i1")
.body = Sheets("1. Mängelanzeige").Range("k43").Value & .body
.Display        'Erstellt die Email und öffnet diese. Der Versand erfolgt anschließend  _
manuell vom User!
MsgBox ("Bitte Datei auswählen.")
Set fdOpen = Application.FileDialog(msoFileDialogOpen)
With fdOpen
.AllowMultiSelect = True
.InitialView = msoFileDialogViewList
.InitialFileName = ActiveWorkbook.Path
.Title = "Bitte die zu sendende(n) Datei(en) auswählen!"
.ButtonName = "per E-Mail senden"
If .Show = True Then
Dim i As Integer
If .SelectedItems.Count > 0 Then
For i = 1 To .SelectedItems.Count
Mail.attachments.Add .SelectedItems(i)
Next
End If
End If
End With
End With
SendKeys body
End Sub

Die MsgBox öffnet sich ich kann die Dateien auch auswählen. Aber die Dateien werden nicht in die Mail eingefügt.
Kann mir jemand helfen?
Vielen Dank.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mail mit Anhang senden
13.08.2018 17:13:44
mumpel
Hallo!
Da ist ja auch ein Fehler drin. Es muss heissen "objMail.Attachments.Add", und nicht "Mail.Attachments.Add".
Gruß, René
Option Explicit...
13.08.2018 17:16:50
{Boris}
...und das wäre sofort aufgefallen. ;-)
Bedingt natürlich, dass die anderen Variablen auch alle brav deklariert werden.
VG, Boris
AW: Option Explicit...
13.08.2018 17:23:33
Marquardt
Blind.
Vielen Dank.
Gruß
Kleine Codeanpassung
13.08.2018 17:24:47
mumpel
Option Explicit

Sub ExcelMailsenden()

ChDir ThisWorkbook.Path
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
                                Filename:=Sheets("1. Mängelanzeige").Range("I1").Value & ".pdf", _
                                Quality:=xlQualityStandard, _
                                IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                                OpenAfterPublish:=False



Dim objOutlook     As Object
Dim objMail        As Object
Dim strOldBody     As String
Dim lngFileCount   As Long
Dim fdOpen

Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.createItem(0)

With objMail
   .GetInspector.Display
    strOldBody = .htmlBody
   .To = Sheets("1. Mängelanzeige").Range("A4").Value
   .CC = Sheets("1. Mängelanzeige").Range("A5").Value
   .BCC = Sheets("1. Mängelanzeige").Range("A6").Value
   .Subject = ThisWorkbook.Worksheets("1. Mängelanzeige").Range("i1")
   .htmlBody = Sheets("1. Mängelanzeige").Range("k43").Value & strOldBody
   
    MsgBox ("Bitte Datei auswählen.")
    Set fdOpen = Application.FileDialog(msoFileDialogOpen)
        With fdOpen
            .AllowMultiSelect = True
            .InitialView = msoFileDialogViewList
            .InitialFileName = ActiveWorkbook.Path
            .Title = "Bitte die zu sendende(n) Datei(en) auswählen!"
            .ButtonName = "per E-Mail senden"
            If .Show = True Then
               If .SelectedItems.Count > 0 Then
                  For lngFileCount = 1 To .SelectedItems.Count
                     objMail.attachments.Add .SelectedItems(lngFileCount)
                  Next
               End If
            End If
        End With
End With

End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


Anzeige

111 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige