Ich versuche, eine Reihe von Arbeitsblättern durchlaufen, speichern Sie sie jeweils als separate Arbeitsmappe, und senden Sie sie als Anhang per E-Mail.Senden von E-Mail über Outlook - Fehler 287
Wenn ich jedoch den untenstehenden Code ausführe, bekomme ich den Fehler 287, ausgelöst durch .Send. Ich habe Ausblick offen, so dass das nicht das Problem ist. Wenn ich ändere .Senden Sie an .Display, die Mails werden als Entwürfe erzeugt, wie sie richtig angezeigt werden, wenn das richtige Blatt angehängt ist.
Sub SendWorksheetsByMail()
Dim wb As Workbook
Dim destinationWb As Workbook
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Set wb = Workbooks("Test.xlsm")
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each ws In wb.Worksheets
'Ignore Summary and Config
If ws.Name <> "Summary" And ws.Name <> "Config" Then
'On Error Resume Next
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(olMailItem)
ws.Copy
Set destinationWb = ActiveWorkbook
destinationWb.SaveAs "C:\****************\" & ws.Name & ".xlsx", FileFormat:=51
With OutMail
.To = "*******************"
.Subject = "Test"
.Body = "Test"
.Attachments.Add destinationWb.FullName
.Send
End With
Set OutMail = Nothing
Set OutApp = Nothing
End If
Next ws
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Edit: „‚‘. Auch kann er auch ohne Befestigung im Wesentlichen nur den Betreff und Text enthält, Erzeugen einer Nachricht“ Test
Irgendwelche Vorschläge, wie man das löst? Es würde viel Zeit sparen, nicht für jede einzelne E-Mail auf Senden klicken zu müssen, da die Anzahl der zu sendenden E-Mails möglicherweise sehr groß wird.
Haben Sie '.Save' vor' .Send' versucht? Nur ein Gedanke. –
Nur neugierig, warum "OutMail" an der Leitung "OutMail.Attachments.Add destinationWb.FullName", wenn es in "mit OutMail" ist? – BruceWayne
Typo, hatte es geschrieben, ohne mit zu beginnen, und dachte, dass es der Anhang war, der zuerst Probleme verursachte, so nahm diesen Teil heraus. Und dann einfach einfügen, ohne es zu ändern. Funktioniert beide aber. Aber wird Code oben aktualisieren. – johankr