mit dem folgenden code möchte ich ein tabellenblatt aus einer mappe heraus über outlook versenden. den code habe ich einen button zugewiesen. wen ich klicke schreibt er: laufzeitfehler 1004: die copy-methode des worksheet-objektes ist fehlerhaft.
für eure hilfe wäre ich dankbar.
gruss/martin
Option Explicit
Sub BlattKopierenUndVersenden()
'aktives Tabellenblatt als Arbeitsmappe
'im Ordner Eigene Dateien speichern, als
'Anlage mit Outlook versenden und anschließend löschen
Dim strPath As String
Dim strName As String
Dim strFile As String
strPath = "C:\Eigene Dateien\" 'Pfad
strName = ActiveSheet.Name 'Tabellenname
strFile = strPath & strName & ".xls"
Application.ScreenUpdating = False
ActiveSheet.Copy
With ActiveWorkbook
.SaveAs strFile
Senden strFile 'Datei versenden
' .Close
End With
Kill strFile 'Datei löschen
Application.ScreenUpdating = True
End Sub
Sub Senden(AWS As String)
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "test@provider.de"
.Subject = "Test"
.attachments.Add AWS
.Body = "Das ist ein Test." & vbCrLf & "Gruss."
'Hier wird die Mail nochmals angezeigt
.Display
'Hier wird die Mail gleich in den Postausgang gelegt
.Send
End With
OutApp.Quit
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub