Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1780to1784
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
Inhaltsverzeichnis

E-Mail mit Signatur Laufzeitfehler 287

E-Mail mit Signatur Laufzeitfehler 287
09.09.2020 19:18:30
René
Hallo zusammen,
bei folgendem Skript laufe ich auf einen Laufzeitfehler 287 und ich verstehe nicht wieso. Google war leider nicht hilfreich :/ Ich arbeite mit HTMLBody, da ich eine Signatur eingefügt haben möchte. Habe auch "htmlBody = "Test
" & .htmlBody" versucht, also ohne den Umweg über die Variable. Beide Male die selbe Fehlermeldung.
Das Skript habe ich zur Übersicht gekürzt, die Variablen sind alle als String deklariert.
Habt ihr eine Idee? Vielen Dank im Voraus!
Gruß René

Sub emailerstellen()
Dim objOutlook As Object
Dim objMail As Object
file = Dir(pfad & "*.xlsx")
Do While file  ""
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.Display
.GetInspector
olOldBody = .htmlBody
.To = an
.cc = cc
.Subject = "Online Survey (Corona)"
.htmlBody = "Test" & olOldBody
.Attachments.Add pfad & file
End With
file = Dir
End If
Loop
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: E-Mail mit Signatur Laufzeitfehler 287
09.09.2020 20:04:10
volti
Hallo Rene,
die CreateObject-Function würde ich nicht mit in die Schleife nehmen und das Mail-Object auf Nothing setzen, bevor es zur nächsten Mail geht.
Hier ein ungetesteter Vorschlag:
 
[Cc]
Sub emailerstellen() Dim objOutlook As Object Dim objMail As Object Set objOutlook = CreateObject("Outlook.Application") file = Dir(pfad & "*.xlsx") Do While file <> "" Set objMail = objOutlook.CreateItem(0) With objMail .GetInspector olOldBody = .htmlBody .To = an .cc = cc .Subject = "Online Survey (Corona)" .htmlBody = "Test" & olOldBody .Display .Attachments.Add pfad & file End With Set objMail = Nothing file = Dir ' End If Dieses End If ist zu viel Loop End Sub
 
____________________
viele Grüße aus Freigericht
Karl-Heinz

Anzeige
AW: E-Mail mit Signatur Laufzeitfehler 287
09.09.2020 20:11:04
volti
Hallo,
wobei ich mich gerade frage, ob Du wirklich jede Datei einzeln versenden willst oder eher in einer Mail?
 
[Cc]
Sub emailerstellen() Dim objOutlook As Object Dim objMail As Object Set objOutlook = CreateObject("Outlook.Application") Set objMail = objOutlook.CreateItem(0) With objMail .GetInspector olOldBody = .htmlBody .To = an .cc = cc .Subject = "Online Survey (Corona)" .htmlBody = "Test" & olOldBody .Display file = Dir(pfad & "*.xlsx") Do While file <> "" .Attachments.Add pfad & file file = Dir Loop End With Set objMail = Nothing End Sub
 
____________________
viele Grüße aus Freigericht
Karl-Heinz

Anzeige
AW: E-Mail mit Signatur Laufzeitfehler 287
14.09.2020 13:43:50
René
Hallo Karl-Heinz,
danke dir für die Antwort, habe deine Anmerkungen eingearbeitet, allerdings erhalte ich weiterhin den Laufzeitfehler 287. Er kommt direkt beim ersten Durchlauf bei der Zeile olOldBody = .htmlBody
Definiert als: Dim olOldBody as String
Auf den zweiten Post bezogen: Eine Datei pro E-Mail, das Skript läuft einwandfrei, wenn ich auf htmlbody verzichte, allerdings dann leider ohne Signatur..
Gruß René
AW: E-Mail mit Signatur Laufzeitfehler 287
14.09.2020 18:48:56
volti
Hallo Rene,
die Dimensionierung olOldBody als String ist ok, auch der gesamte Code ist bei mir lauffähig. Ich erhalte keinen Laufzeitfehler 287 und habe bei meinen Codes auch noch nie einen bekommen. Kann daher mangels Erfahrung wenig helfen.
Im Netz gibt es hierzu nur Anmerkungen zum .Send-Befehl, teilweise mit dem Hinweis auf Laufzeitprobleme.
Aber das ist bei Dir ja nicht der Fall.
Auch die Vorgabe des Bodyformats (s.u. code Zeile 12) und die Verschiebung des .Display-Befehls (Zeile13) dürften m.E. keinen Einfluss hierauf haben. Aber probiere es trotzdem mal aus.
[Cc]
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
Sub emailerstellen()
 Dim objOutlook As Object
 Dim objMail As Object
 Dim olOldBody As String
 Dim Pfad As String
 
 Set objOutlook = CreateObject("Outlook.Application")
 file = Dir(sPfad & "*.xlsx")
 Do While file <> ""
    Set objMail = objOutlook.CreateItem(0)
    With objMail
         .bodyformat = 2
         .GetInspector.Display
         olOldBody = .htmlBody
         .To = an
         .cc = cc
         .Subject = "Online Survey (Corona)"
         .htmlBody = "Test" & olOldBody
         .Attachments.Add Pfad & file
    End With
    Set objMail = Nothing
    file = Dir
 Loop
End Sub
 
____________________
viele Grüße aus Freigericht
Karl-Heinz

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige