Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Email aus Excel senden | Herbers Excel-Forum


Betrifft: Email aus Excel senden von: Annett
Geschrieben am: 27.07.2012 15:00:58

Hallo Zusammen,

ich habe ein Problem und hoffe hier im Forum Hilfe zu bekommen. Leider sind meine VBA Kentnisse sehr begrenzt.
Das aktuelle Makro habe ich mir soweit "zusammengelesen" und es funktioniert auch.
Ziel ist die das aktuelle Excelsheet per Makro zu versenden. Der jeweilige Empfänger steht in A1, der Betreff in b1.

Das Problem ist, dass der Anhang den Namen "Mappe1.xls" bzw. wenn ich das Makro erneut ausführe "Mappe2.xls" u.s.w. trägt.
Mein Wunsch wäre das der Anhang den Namen "ABC_xyz" hat. Für xyz soll das aktuelle Datum und die Zeit eingefügt werden.

Soweit ich gelesen habe ist das wohl auch kein Problem. Die Datei muss wohl temporär gespeichert, umbenannt, gesendet und dann
gelöscht werden. Die gesendete Datei soll nicht abgespeichert werden.

Aber ich bekomme das nicht ein mein aktuelles Makro rein (Bin einfach zu bl...).

Kann mir bitte einer der Profis helfen?

Hier das momentane Makro:

Sub senden ()

Dim empfaenger As String
Dim betreff As String
empfaenger = Range("a1").Value
betreff = Range("b1").Value
Application.Dialogs(xlDialogSendMail).Show empfaenger, betreff


End Sub
Vielen Dank
Annett

Excel 2003
Outlook 2007

  

Betrifft: AW: Email aus Excel senden von: Hajo_Zi
Geschrieben am: 27.07.2012 15:31:12

Hallo Annett,

wenn die Datei nicht gespeichert werden soll bekommsrt Du das nicht hin.

GrußformelHomepage


  

Betrifft: AW: Email aus Excel senden von: Annett
Geschrieben am: 27.07.2012 15:54:02

Hallo,
speichern ist an sich kein Problem, wenn die Datei im nachhinein wieder gelöscht wird.
Ich habe nur absolut keine Ahnung wie das geht.


  

Betrifft: AW: Email aus Excel senden von: mumpel
Geschrieben am: 27.07.2012 17:47:36

Hallo!

Wie immer die Standardfrage: Welches Emailprogramm?

Gruß, René


  

Betrifft: AW: Email aus Excel senden von: silex1
Geschrieben am: 27.07.2012 19:15:39

Hallo,

so viellicht:
http://www.office-loesung.de/ftopic536745_0_0_asc.php#2273951

VG, Rene


  

Betrifft: AW: Email aus Excel senden - Zwischenfrage von: MatthiasG
Geschrieben am: 27.07.2012 19:36:25

Hallo René,

in diesem Zusammenhang würde ich gerne wissen, was für und was gegen die Verwendung folgenden Codes spricht (Mailversand mit "CDO"):

Const SMTP_Server = "smtp.xyz.de"
Const SMTP_Port = 25
Const SMTP_Authenticate = 1
Const SMTP_Username = "benutzer"
Const SMTP_Password = "passwort"
Const SMTP_FromName = "Mein Name"
Const SMTP_FromEMail = "mein.name@provider.de"

Sub CDO_Sendmail(mail_To As String, Optional mail_CC As String = "", Optional mail_BCC As  _
String = "", _
        Optional mail_Subject As String = "(kein Betreff)", _
        Optional mail_Body As String = "(kein Text)", Optional mail_Attachment As String = "")
    
    Dim iMsg As Object
    Dim iConf As Object
    Dim strbody As String
    Dim strfrom As String
    
    Dim Flds As Variant

    Set iMsg = CreateObject("CDO.Message")
    Set iConf = CreateObject("CDO.Configuration")

        iConf.Load -1    ' CDO Source Defaults
        Set Flds = iConf.Fields
        With Flds
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTP_Server
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = SMTP_Port
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = SMTP_Authenticate
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = SMTP_Username
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = SMTP_Password
            .Update
        End With

    strbody = mail_Body

    If SMTP_FromName = "" Then
        strfrom = SMTP_FromEMail
    Else
        strfrom = Chr(34) & SMTP_FromName & Chr(34) & " <" & SMTP_FromEMail & ">"
    End If
    
    On Error GoTo err
    With iMsg
        Set .Configuration = iConf
        .To = mail_To
        .cc = mail_CC
        .bcc = mail_BCC
        .from = strfrom
        .Subject = mail_Subject
        .TextBody = mail_Body
        If mail_Attachment <> "" And Dir(mail_Attachment) <> "" Then
            .AddAttachment mail_Attachment
        End If
        .Send
    End With
    Exit Sub
err:
    MsgBox err.Number & vbNewLine & err.Description, vbCritical, "Fehler beim Versenden"
    

End Sub
Wenn man einen SMTP-Server zur Verfügung hat, ist dies doch die beste Lösung, oder? Man braucht nicht zu prüfen, welches E-Mail Programm installiert ist und kann einfach drauf lossenden.

Welche Voraussetzungen gibt es denn, damit dieser CDO-Versand funktioniert?

Grüße,
Matthias


  

Betrifft: AW: Email aus Excel senden von: Annett
Geschrieben am: 29.07.2012 11:09:12

Hallo, weil die Frage kanm...Email ist Outlook 2007.

Ich habe mittlerweile etliche Tipps gelesen, um ein Sheet per Emails und Makro zu versenden.

Allerdings sind dort feste Empfänger im Makro hinterlegt. Ich brauche eben wechselnde, welche aus einer Zelle gelesen werden. Weiterhin soll eben das aktuelle Sheet unter einem Namen+Datum+Uhrzeit per

Makro versendet werden können. Zwischenspeichern ist kein Problem, solange diese Daten wieder gelöscht werden.



Kann mir denn keiner mal diese Zeilen zusammenschreiben, ich bekomms nicht auf die Reihe.



Danke,Danke

Annett


  

Betrifft: AW: Email aus Excel senden von: MatthiasG
Geschrieben am: 29.07.2012 11:21:57

Hallo Annett,

reichen Dir diese Hinweise?
Klick

Gruß Matthias


  

Betrifft: AW: Email aus Excel senden von: Annett
Geschrieben am: 29.07.2012 12:56:44

Hallo Mattias,



vielen Dank. Das läuft soweit super. Einzig beim befehl "kill AWS" hängt das Makro und meldet Zugriff verweigert. Die zu sendende Datei ist nicht schreibgeschützt oder so, aber sie ist noch offen.

Wie kann ich diese vor dem löschen schließen ? - oder ist das ein anderes Problem?



Danke Annett


  

Betrifft: AW: Email aus Excel senden von: Hajo_Zi
Geschrieben am: 29.07.2012 13:00:24

Hallo Annett,

eine offfene Dateui löschen ist ein wenig aufwendiger. Beachte die Datei wird nicht in den Papierkorb geschoben.

Sub zMloesche_ver()
'   angepast, damit nicht zwischen This und Active gewechselt wird
'   vom Melanie Breden
   With ThisWorkbook
      .ChangeFileAccess xlReadOnly
      Kill .FullName
      .Close False
   End With
End Sub

Es wird die Datei mit dem Code gelöscht. Vielleicht anpassen.

GrußformelHomepage


  

Betrifft: AW: Email aus Excel senden von: MatthiasG
Geschrieben am: 29.07.2012 13:11:03

Hallo,

ja, da ist es dann einfacher, die Mappe erst zu schließen und dann zu löschen!
Die Mappe wurde ja per Makro erzeugt (Sheets(..):Copy) und kann dann ja auch per Makro geschlossen und gelöscht werden.

Gruß Matthias


Beiträge aus den Excel-Beispielen zum Thema "Email aus Excel senden"