Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datei per Outlook versenden

Datei per Outlook versenden
30.08.2019 14:58:38
Matthias
Hallo,
ich möchte die aktuell verwendete Datei als Anhnag mit Outlook versenden.
Dazu folgenden VBA-Code:

Sub Mail_mit_Anhang_Abw()
Dim aws As String
Dim olApp As Object
Dim olOldBody As String
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
.GetInspector.Display
olOldBody = .htmlBody
.Recipients.Add Sheets("Mail").Range("B1").Value
.Recipients.Add Sheets("Mail").Range("B2").Value
.Recipients.Add Sheets("Mail").Range("B3").Value
.Recipients.Add Sheets("Mail").Range("B4").Value
.Subject = "Betreff - Stand " & Date
.Attachments.Add Application.ActiveWorkbook.FullName
End With
End Sub

Mein Problem ist, dass der Mailversand nur funktioniert wenn Outlook nicht gestartet wurde.
Ist Outlook bereits geöffnet gibt's ne Fehlermeldung:
"Laufzeitfehler '429': Objekterstellung durch ActivX-Komponenete nicht möglich"
Nach Klick auf "Debuggen" wird die Zeile " Set olApp = CreateObject("Outlook.Application") " farbig hinterlegt.
Wo liegt der Fehler?
Danke.
Gruß
Matthias
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei per Outlook versenden
30.08.2019 15:33:15
Torsten
Hallo,
nicht nachvollziehbar. Bei mir funktioniert es auch wenn Outlook offen ist.
Ist die Outlook Bibliothek eingebunden?
Gruss Torsten
AW: Datei per Outlook versenden
30.08.2019 18:17:58
Luschi
Hallo Torsten,
Set olApp = CreateObject("Outlook.Application")
ist 'late binding' und dafür wird kein gesetzter Verweis benötigt. Bei mir funktioniert es auch, allerdings mache ich das so:
Dim olApp As Object
On Error Resume Next
   Set olApp = CreateObject("Outlook.Application")
On Error Goto 0
If olApp Is Nothing Then
   MsgBox "Sorry..., aber auf dieser PC-Kiste ist Outlook nicht installiert", 16, "Hinweis"
   Exit Sub
End If
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Datei per Outlook versenden
02.09.2019 11:16:56
Matthias
Ich habe meinen Code entsprechend abgewandelt....
......
Dim olOldBody As String
On Error Resume Next
Set olApp = CreateObject("Outlook.Application")
On Error GoTo 0
If olApp Is Nothing Then
MsgBox "Bitte Outlook beenden, und Makro erneut ausführen"
Exit Sub
End If
With olApp.CreateItem(0)
.GetInspector.Display
.....
Mein Grundproblem ist geblieben - Outlook muss beendet sein, damit das Makro funktioniert.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige