Microsoft Excel

Herbers Excel/VBA-Archiv

Mail aus Excel

Betrifft: Mail aus Excel von: Stan
Geschrieben am: 10.10.2014 07:57:38

Hallo, ich starte aus einer Excel Tabelle ein Makro, das verschickt das Blat an Email Empfänger in Zelle A51. Wenn ich dort mehr Empfänger schreibe, geteilt mit ";" kann ich die Email nicht versenden (microsoft Outlook kann die Email Adresse nicht erkennen.
https://www.herber.de/bbs/user/93075.txt

Danke Stan

  

Betrifft: AW: Mail aus Excel von: Steffi
Geschrieben am: 10.10.2014 09:23:37

Hallo,

bei mir funktioniert es wenn ich die E-Mail-Adressen als Array übergebe.

Sub Mail_senden()
    Dim Empfaenger As String
    Dim EmpfArray() As String
    Dim Betreff As String
    Dim Zähl As Long
    
    
    Empfaenger = Range("A51").Value
    Betreff = "Betreff"
    
    EmpfArray() = Split(Empfaenger, ";")

    Application.Dialogs(xlDialogSendMail).Show EmpfArray, Betreff
End Sub

Hoffe das hilft.

Gruß Steffi


  

Betrifft: AW: Mail aus Excel von: Stan
Geschrieben am: 10.10.2014 09:58:13

Hallo Steffi,
Danke für Info. leider hat nicht geholfen. Die zwei Empfänger von A51 sind in der An: Zeile in der Email, aber bei senden kommt sie Fehlermeldung. Vielleicht muss man den zweiten Empfänger in die CC: zeile eintragen. Wie kann ich CC: deklarieren?


  

Betrifft: AW: Mail aus Excel von: Steffi
Geschrieben am: 10.10.2014 11:42:15

Seltsam das es nicht funktioniert. Als ich nur den Zelleninhalt übergeben hab, hatte ich den Fehler auch. Aber mit dem Array hat es geklappt.

Die Mail-Adressen stehen bei mir so in der Zelle "A51" = name1@domian; name2@domain

Outlook hat dann auch selbständig die ";" zwischen die Mail-Adressen gesetzt, obwohl die im Array nicht mehr enthalten waren.

In CC kann man soweit ich weiß nichts mit dem Dialog SendMail schreiben.



Hier wäre auch noch eine andere Möglichkeit:

Sub Mail_senden2()
    Dim OutlookApp As Object
    Dim Mail As Object
    
    Dim Empfaenger As String
    Dim Betreff As String

    
    
    Empfaenger = Range("A51").Value
    Betreff = "Betreff"
    
    Set OutlookApp = CreateObject("Outlook.Application")
    Set Mail = OutlookApp.CreateItem(0)
    
    With Mail
        .To = Empfaenger
        .CC = "name1@domain; name2@domain"
        .Subject = Betreff
        
        'Pfad hier für die zu sendende Datei entsprechend anpassen
        .Attachments.Add "C:\Users\...\Mail.xlsm"
        
        .Display
    End With

    
    
    Set OutlookApp = Nothing
    Set Mail = Nothing
End Sub
Gruß Steffi


  

Betrifft: AW: Mail aus Excel von: Stan
Geschrieben am: 10.10.2014 12:53:50

Hallo Steffi,
Outlook übernehmt alles richtig. Nur nach dem senden kommt die Fehlermeldung (siehe Bild
)Ich muss dazu sagen. Es geht über einen Exchange Server


  

Betrifft: AW: Mail aus Excel von: Steffi
Geschrieben am: 10.10.2014 13:03:56

Hallo,

tut mir Leid, ich kann deinen Fehler nicht nachvollziehen. Den Fehler den du da hast hatte ich am Anfang auch, aber mit dem Array klappt es wie gesagt problemlos. Übergibst du auch wirklich das Array an den DialogSendMail?

Und was ist mit der alternativen Lösung? Funktioniert die? Da brauchst du kein Array.

Gruß Steffi


  

Betrifft: AW: Mail aus Excel von: Stan
Geschrieben am: 10.10.2014 13:52:38

Hallo Steffi,
Vielen Dank, jatzt hat alles funktioniert. ich habe die zeile mit Application.Dialogs(xlDialogSendMail).Show Empfaenger, Betreff nicht auskommentiert.
Gruß Stan