Office: (Office 2010) Mail per VBA

Helfe beim Thema Mail per VBA in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hi zusammen, ich habe ein Makro erstellt, welches aus Excel heraus Mails versendet. Soweit, so gut... Leider sind potenziell viele Empfänger... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Godehard72, 29. Januar 2017.

  1. Mail per VBA


    Hi zusammen,

    ich habe ein Makro erstellt, welches aus Excel heraus Mails versendet. Soweit, so gut...

    Leider sind potenziell viele Empfänger anzuschreiben, die in der Exceldatei als Liste auftauchen, ohne, dass die Mailadresse bekannt ist. (Per Schleife wird nacheinander jeweils ein Adressat mit "seinem" Inhalt angeschrieben.)

    Fall a) alles gut: Der Listeintrag kommt ins an-Feld, Outlook löst bei
    With OutMail
    .Send

    über das globale Adressbuch (Exchange) auf, die Mail wird versandt.

    Fall b) Fehler: Die Auflösung schlägt fehl, weil der Eintrag nicht erkannt wird. Outlook öffnet das Fenster "Namen überprüfen" und alles steht.

    Herausforderung: Welcher Code kann hier abprüfen, ob die Adressauflösung erfolgreich ist oder nicht. Mögliche Lösung: Wenn Adressauflösung nicht erfolgreich, dann wird Adressat geändert (z.B. schicke Mail an ein "Fehlerpostfach").
    Mein Problem: Ich bekomme keinen Anpack an die Meldung Namensüberprüfung... (on Error hilft leider nicht)

    Im Vorfeld ausschließlich im Outlook im globalen Adressbuch bekannte Listeinträge auszuwählen, ist fachlich nicht umsetzbar.

    Über einen Hinweis würde ich mich sehr freuen. Danke im Voraus, VG, Godehard.

    Code:

    On Error Resume Next
    With OutMail
    .to = "[Variabler Listeintrag]"
    .CC = ""
    .BCC = ""
    .Subject = "Betreff"
    .Body = strbody
    .Attachments.Add ActiveWorkbook.FullName
    .Display
    .Send '[Hier komme ich nicht weiter, wenn nicht aufgelöst wird]

    End With

    :)
     
    Godehard72, 29. Januar 2017
    #1
  2. Das musst du etwas forschen.
    Je nach dem, mit welchen Infos du ins/ans "Adressbuch" gehst.

    Im Anhang ein Code, den du mal mit F8 durchdrücken kannst, wie deine Adressbücher benannt sind und welche Entries sie haben.
    Einfach in eine neue, leere Mappe in ein leeren Modul kopieren.
    Der Code zeigt im Direktfenster die Namen der Benutzer und seine primäre Adresse an.
    Die könntest du abfragen und, wenn kein String als Antwort, überspringen.

    Code:
     
    AndreaNoway, 31. Januar 2017
    #2
  3. Hallo Andrea,

    vielen Dank für deinen Ansatz. (Mit dem Ergebnis müsste ich vorher abgleichen, ob der Eintrag vorhanden ist, richtig?)

    Je nachdem, welches Adressbuch ich eingebe, erhalte ich unterschiedliche Angaben im Direktfenster. Leider sind 2 Aspekte festzuhalten:

    a) Der Listeintrag, den ich in das An-Feld hineinschreibe, wird nicht mit angezeigt (ist/brauche das Outlook-Feld 'Alias')
    b) nach gefühlten 100 Einträgen (noch im Namensbereich des Buchstaben B)im Direktfenster fängt Outlook an "nach Hause zu telefonieren" - ich bekomme einen Abbruch und Laufzeitfehler '-2147467259 (80004005)' Der Vorgang ist fehlgeschlagen

    Hast du noch eine Idee?

    Viele Grüße
     
    Godehard72, 31. Januar 2017
    #3
  4. Mail per VBA

    Den Exchange kann man natürlich umfangreich konfigurieren, einschränken, etc. Wenn ich das hier auf diesem Rechner laufen lasse, erhalte ich ca. 2500 Mail Adressen. Es dauert, aber läuft fehlerfrei durch.
    Deswegen der Hinweis auf das Nachforschen.
    Den Alias kriegst du über " objEntry.GetExchangeUser.Alias "

    Evtl. musst du dich durch https://msdn.microsoft.com/en-us/lib.../ff866465.aspx mal durcharbeiten.
     
    AndreaNoway, 31. Januar 2017
    #4
  5. Hey - ich habe noch ein bisschen rumprobiert. Ohne zu verstehen warum: Der Code funktioniert, wenn ich über VPN ins Netzwerk gehe - wenn ich schon im Netzwerk bin, weigert sich Exchange scheinbar, die komplette Liste durchzugehen (Ergebnis gerade knapp 18 Tsd. Einträge).

    Naja, dann halt per VPN!

    Vielen Dank, Andrea - hat mir auf jeden Fall sehr geholfen und ich glaube, ich kriege das gewünschte Ergebnis hin - zumindest solange das per VPN funktioniert. Danke auch für den Link auf die Objektübersicht.

    Sollte noch jemand eine Idee haben, wie man ohne Abgleich aller Einträge per VBA auf die Outlook-Nachrichtenbox "Namen überprüfen" als Trigger nutzt, gern her damit ;-)

    Ich wünsche einen schönen Abend! Danke nochmal.
     
    Godehard72, 31. Januar 2017
    #5
  6. Vielleicht hilft Dir die Methode resolve um einen Namen aufzulösen
     
    Scorefun, 31. Januar 2017
    #6
Thema:

Mail per VBA

Die Seite wird geladen...
  1. Mail per VBA - Similar Threads - Mail VBA

  2. emails per vba mit eigenem Ordner speichern

    in Microsoft Outlook Hilfe
    emails per vba mit eigenem Ordner speichern: Hallo Forumgemeinde! Bin neu hier und hoffe das ihr mir bei meinem Vorhaben behilflich sein könnt. Ich möchte mit beiliegend gefundenem VBA-Code (hoffe, dass ich diesen hier überhaupt hochladen...
  3. VBA eine Mail Empfänger aus Zellen ziehen

    in Microsoft Excel Hilfe
    VBA eine Mail Empfänger aus Zellen ziehen: Hallo, aktuell habe ich alle Mail-Empfänger in einer Zelle (K11) mit Semikolon getrennt stehen. Aktuell schaut es so aus: .To = Range("K11").Value Ziel ist es aber die Empfänger...
  4. VBA Grafik in E-Mail einfügen

    in Microsoft Excel Hilfe
    VBA Grafik in E-Mail einfügen: Hallo zusammen, ich habe mir in verschiedenen Foren einen VBA-Code zusammengesucht, angepasst und entsprechend nutze ich diesen jetzt auch. Hierzu hätte ich jetzt zwei Fragen: 1. Grafik wird...
  5. VBA bestimmte Mail Anhänge abspeichern funktioniert nur ab+zu

    in Microsoft Outlook Hilfe
    VBA bestimmte Mail Anhänge abspeichern funktioniert nur ab+zu: Hallo zusammen, ich nutze folgenden VBA Code schon einiger Zeit. Lesen der Anhänge meiner IPCam mails und speichere diese in einem bestimmten Ordner. Was mir immer wieder auffällt ist, dass beim...
  6. E-Mail per VBA

    in Microsoft Excel Hilfe
    E-Mail per VBA: Hallo, ich erstelle per Excel Emails mit Signatur. Funktioniert auch soweit gut. Jetzt ist es nur so, dass die Leerzeilen die automatisch über der Signatur eingefügt werden stören. Also der...
  7. Outlook-Mail mit VBA: SendUsingAccount

    in Microsoft Access Hilfe
    Outlook-Mail mit VBA: SendUsingAccount: Hallo, ich habe mir den Code aus vielen Beispielen zusammengebaut, aber an einer letzten Stelle hapert es bei mir noch. Das .SendUsingAccount (mit oder ohne SET davor) mit einer E-Mail-Adresse,...
  8. VBA: Wenn der Wert >2 dann soll eine E-Mail versendet werden. Überprüfung von ca. 100 Zeilen.

    in Microsoft Excel Hilfe
    VBA: Wenn der Wert >2 dann soll eine E-Mail versendet werden. Überprüfung von ca. 100 Zeilen.: Hallo Zusammen, ich habe das Problem das wir in unserem Unternehmen eine Bestandsliste unserer Toner in Excel führen. Aktuell bin verusche ich diese übersichtlicher und mit einen Upgrades zu...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden