Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1596to1600
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
Laufzeitfehler "-2147287037" Outlook
19.12.2017 21:12:17
Kevin
Hallo mal wieder.. ;-)
Ich habe meine Datei nun so konfiguriert, dass sie bei einem Klick auf den Bestätigungsbutton _ in einer UserForm automatisch eine PDF-Datei generiert und diese per Mail versendet. Nun, es funktionierte bis vorhin auch. Dann wollte ich es schlussendlich nochmals testen und es kam die Meldung "Laufzeitfehler -2147287037....." - es werden nur noch Mails versendet, wenn Outlook auch geöffnet ist - sobald Outlook geschlossen ist kommt diese Meldung. Vorher hat die Datei Outl. eigenständig geöffnet. Hat jemand vielleicht einen fehlerfreien Code bzw. einen Lösungsvorschlag?

Private Sub CommandButton1_Click()
'Zuordnung der Zellen bez. Eingabewerte
Sheets("Tabelle1").Range("B6") = UserForm1.TextBox6.Value
Sheets("Tabelle1").Range("B8") = UserForm1.TextBox3.Value
Sheets("Tabelle1").Range("B10") = UserForm1.ComboBox1.Value
Sheets("Tabelle1").Range("B11") = UserForm1.ComboBox2.Value
Sheets("Tabelle1").Range("C13") = UserForm1.ComboBox3.Value
Sheets("Tabelle1").Range("E13") = UserForm1.TextBox5.Value
Dim sBlatt As String
Dim sPdfDateiF5 As String
Dim OutApp As Object
Dim OutMail As Object
Dim Antwort
If MsgBox("Möchten Sie die Überstundenmeldung abschicken? Das Programm schließt automatisch!",  _
_
_
4, "Frage") = vbYes Then
' speichern unter als PDF:
sPdfDateiF5 = "H:\rw-......\......."
' speichert das aktuelle Blatt (=ActiveSheet) als PDF
ActiveWorkbook.Sheets("Tabelle1").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=sPdfDateiF5, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=False
' Bezug zu Outlook herstellen...
Set OutApp = CreateObject("Outlook.Application")
' ...neue E-Mail erzeugen
Set OutMail = OutApp.CreateItem(0)
' Werte den Eigenschaften zuweisen...
OutMail.to = ""
OutMail.CC = ""
OutMail.BCC = ""
OutMail.Subject = "Überstundenmeldung"
OutMail.Body = "Sehr geehrte Damen und Herren, im Anhang finden Sie eine Überstundenmeldung    _
_
_
der ......"
' Anhang hinzufügen:
OutMail.Attachments.Add sPdfDateiF5
' ...und abschicken
OutMail.Send
End If
' Objekte sauber auflösen
Set OutMail = Nothing
Set OutApp = Nothing
' Tabelle schließen
Application.DisplayAlerts = False
Application.Quit
End Sub
Ich habe das ganze nach langem hin und her und nach langem suchen so übernommen und modifiziert bzw. angepasst...
Vielleicht hat ja jemand eine Idee oder einen besseren Code :)

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

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler "-2147287037" Outlook
19.12.2017 21:14:38
Kevin
Dazu habe ich noch ein Problem. Wird der Klick auf den Button ausgeführt, so sollte sich eigentlich nur diese bestimmte Datei schließen. Diese Datei (s.o.) ist ein leeres Blatt welches über eine UserForm einmalig Daten zum PDF-generieren bekommt und sich dann wieder schließen soll, sobald die Mail raus ist.
Die Datei, aus der die Datei hier geöffnet wird, soll aber dennoch auf bleiben. Es sind beides XLSM-Dateien - normalerweise dürfte doch nur diese hier schließen. Warum ist das so?
Outlook öffnen - Vorschlag
20.12.2017 01:20:55
Hans
Hallo Kevin,
eventuell hilft dir das hier weiter.
Stammt aus einem Code für meine alte Excel Mappe und ging eigentlich ganz gut....
Auszug:
Bezug zu Outlook herstellen...
Dim OL As Object ' Outlook.Application
Dim OLApp As Object ' Outlook.AppointmentItem
Set OL = CreateObject("Outlook.Application")
Set OLApp = OL.CreateItem(0)
With OLApp
".Subject = ""Überstundenmeldung""
"
".Body = ""Sehr geehrte Damen und Herren, im Anhang finden Sie eine Überstundenmeldung der ......"
.display
End With
Set OLApp = Nothing
Set OLApp = Nothing
Versuch mal .. Hans
Anzeige
AW: Laufzeitfehler "-2147287037" Outlook
20.12.2017 06:31:35
Luschi
Hallo Kevin,
mein Zugriff auf Outlook sieht so aus:

On Error Resume Next
Set objOutlook = GetObject(, "Outlook.Application")
If objOutlook Is Nothing Then
Set objOutlook = CreateObject("Outlook.Application")
End If
On Error GoTo 0
If objOutlook Is Nothing Then
MsgBox "Auf diesem Rechgner ist das E-Mail-Programm 'Outlook' nicht installiert!", _
vbSystemModal + 16, "zur Information - Ende"
Exit Sub
End If
Gruß von Luschi
aus klein-Paris
AW: Laufzeitfehler "-2147287037" Outlook
23.12.2017 11:23:00
Kevin
Hallo Ihr beiden!
Ich habe meinen Code nochmals eingefügt, irgendwo war ein fehler, ich denke aber dass er bei OL lag. Klappt nun alles, vielen Dank für die Anregungen! :)
Gruß,
Kevin
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige