Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1228to1232
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
Inhaltsverzeichnis

Attachmentname in E-Mail Nachicht einfügen

Attachmentname in E-Mail Nachicht einfügen
Seppel
Hallo VBA Gemeinde,
Über ein Exeldatei lasse ich eine E-Mail generieren, das funktioniert so weit auch alles mit dem hier unten angegbenen Code. Ich möchte aber gern noch in den Mail Body (Nachichtentext) den Namen der angefügten Datei mit einbinden.
Im Nachichtentext wäre das z.B. nach "hier die Liste: Test.xls"
Outlook bitte vorher öffnen wenn dieser Code ausgeführt werden soll!

Sub Workbook_Senden()
Dim dNow As Date
Dim MyMessage As Object, MyOutApp As Object
Dim Qe As Integer
Dim aws As String
Dim strDatei As String
Dim MailNachricht As String 'schriftart des textes ändern
'hier die Text-Eigenschaften festlegen
MailNachricht = "" & _
"Sehr geehrte Hr. Mustermann, 
hier die Liste:
Mit freundlichen Grüßen
" If Weekday(Date, 1) > 6 Then 'outlook_oeffnen 'Macro ausführen wenn Outlook sich wegen Benutzerrechte nicht öffnet! 'An dieser Stelle wird die Datei festgelegt, With Application.FileDialog(msoFileDialogFilePicker) .InitialFileName = "C:\" .Title = "Bitte die zu sendende Datei auswählen!" .ButtonName = "per E-Mail senden" .InitialView = msoFileDialogViewDetails .AllowMultiSelect = True 'mehrere Dateien auswählen If .Show = -1 Then strDatei = .SelectedItems(1) Else Unload UFAnleitung_EMail_Versand MsgBox "Es wurde keine Datei ausgewählt. Der Vorgang wird abgebrochen!" Exit Sub End If End With aws = strDatei 'If aws "false" Then Application.ScreenUpdating = False 'Outlook Object erstellen Set MyOutApp = CreateObject("Outlook.Application") 'Outlook Nachricht erstellen Set MyMessage = MyOutApp.CreateItem(0) With MyMessage .To = "Test@gmx.de" '"Hier E-Mailadresse eintragen" .Subject = "List zum Zeitpunkt: " & Date & " " & Time .HTMLBody = MailNachricht 'Nachichtenformat in "Nur-Text" ändern, um Anlage im Body _ einzufügen .ReadReceiptRequested = False 'Keine Lesebestätigung .Attachments.Add aws 'die geöffnete Datei wird versendet On Error GoTo Fehler 'wenn Fehler auftritt dann msgbox anzeigen 'Mail erst anzeigen .Display 'Hier wird die Mail gleich in den Postausgang gelegt und gesendet '.Send End With 'Outlook schliessen 'MyOutApp.Quit 'Variablen leeren Set MyOutApp = Nothing Set MyMessage = Nothing Exit Sub Fehler: MsgBox "Der Vorgang wurde abgebrochen!" Application.ScreenUpdating = True Else 'für die Sperrung des Button 'Unload UFAnleitung_EMail_Versand MsgBox "Der Mailversand ist nur zu einer bestimmten Zeit möglich!" & Chr(13) & _ "" & Chr(13) & _ " Der Vorgang wird jetzt abgebrochen!" Exit Sub End If End Sub
Gibt es da eine Möglichkeit? Eine Beispieldatei würde mir vielleicht auch schon helfen.
Danke, vorab für eingehende Hilfe.

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

Betreff
Benutzer
Anzeige
AW: Attachmentname in E-Mail Nachicht einfügen
24.09.2011 07:05:04
Josef

Hallo Sepel,

Sub Workbook_Senden()
  Dim dNow As Date
  Dim MyMessage As Object, MyOutApp As Object
  Dim Qe As Integer
  Dim aws As String
  Dim strDatei As String
  Dim MailNachricht As String 'schriftart des textes ändern
  
  
  If Weekday(Date, 1) > 6 Then
    'outlook_oeffnen 'Macro ausführen wenn Outlook sich wegen Benutzerrechte nicht öffnet!
    'An dieser Stelle wird die Datei festgelegt,
    With Application.FileDialog(msoFileDialogFilePicker)
      .InitialFileName = "C:\"
      .Title = "Bitte die zu sendende Datei auswählen!"
      .ButtonName = "per E-Mail senden"
      .InitialView = msoFileDialogViewDetails
      .AllowMultiSelect = True 'mehrere Dateien auswählen
      
      If .Show = -1 Then
        strDatei = .SelectedItems(1)
      Else
        Unload UFAnleitung_EMail_Versand
        MsgBox "Es wurde keine Datei ausgewählt. Der Vorgang wird abgebrochen!"
        Exit Sub
      End If
    End With
    
    'hier die Text-Eigenschaften festlegen
    MailNachricht = "" & _
      "Sehr geehrte Hr. Mustermann, hier die Liste: <br>" & _
      Mid(strDatei, InStrRev(strDatei, "\") + 1) & _
      "<br><br>Mit freundlichen Grüßen"
    
    aws = strDatei
    'If aws <> "false" Then
    Application.ScreenUpdating = False
    'Outlook Object erstellen
    Set MyOutApp = CreateObject("Outlook.Application")
    'Outlook Nachricht erstellen
    Set MyMessage = MyOutApp.CreateItem(0)
    With MyMessage
      .To = "Test@gmx.de" '"Hier E-Mailadresse eintragen"
      .Subject = "List zum Zeitpunkt: " & Date & " " & Time
      .HTMLBody = MailNachricht 'Nachichtenformat in "Nur-Text" ändern, um Anlage im Body _
        einzufügen

      .ReadReceiptRequested = False 'Keine Lesebestätigung
      
      .Attachments.Add aws 'die geöffnete Datei wird versendet
      On Error GoTo Fehler 'wenn Fehler auftritt dann msgbox anzeigen
      'Mail erst anzeigen
      .Display
      'Hier wird die Mail gleich in den Postausgang gelegt und gesendet
      '.Send
    End With
    'Outlook schliessen
    'MyOutApp.Quit
    'Variablen leeren
    Set MyOutApp = Nothing
    Set MyMessage = Nothing
    
    
    Exit Sub
    Fehler:
    
    MsgBox "Der Vorgang wurde abgebrochen!"
    Application.ScreenUpdating = True
  Else 'für die Sperrung des Button
    'Unload UFAnleitung_EMail_Versand
    MsgBox "Der Mailversand ist nur zu einer bestimmten Zeit möglich!" & Chr(13) & _
      "" & Chr(13) & _
      " Der Vorgang wird jetzt abgebrochen!"
    Exit Sub
  End If
End Sub




« Gruß Sepp »

Anzeige
AW: Attachmentname in E-Mail Nachicht einfügen
24.09.2011 17:04:02
Seppel
Hallo Josef,
du hast mir sehr weitergeholfen. Ich danke dir dafür.
Ich habe festgestellt das ich den Dateinamen von vorn beginnend einkürzen kann wenn ich die Zahl nach

Mid(strDatei, InStrRev(strDatei, "\")
erhöhe. Gibt es auch die Möglichkeit die Dateiendung zu entfernen?
Aber erstmal besten Dank
Gruß Seppel
AW: Attachmentname in E-Mail Nachicht einfügen
24.09.2011 17:25:43
Josef

Hallo Seppel,
sicher geht das.

'hier die Text-Eigenschaften festlegen
strTmp = Mid(strDatei, InStrRev(strDatei, "\") + 1)
strTmp = Left(strTmp, InStrRev(strTmp, ".") - 1)
MailNachricht = "" & _
  "Sehr geehrte Hr. Mustermann, hier die Liste: <br>" & _
  strTmp & "<br><br>Mit freundlichen Grüßen"


« Gruß Sepp »

Anzeige
AW: Attachmentname in E-Mail Nachicht einfügen
25.09.2011 19:43:52
Seppel
Hallo Josef,
Ich danke dir aufs allerherzlichste, funzt wie gewünscht!

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige