Bestimmte Bereich einer Exceldatei als Anhang

Hallo Community :smile:

Ich habe noch ein weiteren Punkt, an dem im harke. Ich habe vor ein Schreiben welches ich nun erstellt habe (Serienbrief), direkt mit einen Knopfdruck als Anhang einer E-Mail zu versenden!
Die komplette Datei im Anhang zu versenden ist recht einfach, jedoch will ich nur einen bestimmten Bereich versenden (damit der Absendebutton und meine anderen „Zwischenschritte“) nicht mit versendet werden, da dies niemanden etwas angeht.

Code für die komplette Datei als Anhang:

Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject(„Outlook.Application“)
Dim AWS As String
Dim Zelle_1 As String
'Aktive Arbeitsmappe wird als Mail gesendet
Zelle_1 = Cells(2, 1).Value
AWS = ThisWorkbook.FullName
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = Zelle_1
.Subject = "Testmeldung von Excel2000 " & Date & Time
.attachments.Add AWS
.Body = „Das ist ein Test.“ & vbCrLf & „Bitte ignorieren.“
'Hier wird die Mail nochmals angezeigt
.Display
'Hier wird die Mail gleich in den Postausgang gelegt
'Mail.Send
End With
'Outlook schliessen
'OutApp.Quit
'Set OutApp = Nothing
'Set Nachricht = Nothing
End Sub

Mit diesem Quellcode öffne ich mein Outlook und meine aktuell geöffnete Excel Tabelle befindet sich im Anhang der E-Mail. PROBLEM: Die komplette Datei !!!

Habe mir nun gedacht, dass ich einfach die Variable „AWS“ mit einem bestimmten Zell-Bereich versehen kann.

Code:

AWS = „$A$1:blush:G$49“

jedoch bekomme ich dabei immer eine Fehlermeldung.
Hoffe mir kann jemand weiterhelfen, wäre super klasse

MfG Star

jedoch will ich nur einen bestimmten Bereich versenden (damit

Hallo Star,

„Mail“ in Mail.Send ist nicht bekannt. .Send nehmen.

nachfolgend der Code, beim Darstellen hier habe ich den pre-Tag-Button von w-w-w benutzt wegen Einrückungen.

Gruß
Reinhard

ungetestet

Option Explicit

Sub Mailen()
Dim Nachricht As Object, OutApp As Object
Dim AWS As String, Zelle\_1 As String, Merker As Integer
Dim Bereich As Range
Set Bereich = ThisWorkbook.Worksheets("Tabelle1").Range("A1:G49")
Set OutApp = CreateObject("Outlook.Application")
'Aktive Arbeitsmappe wird als Mail gesendet
Zelle\_1 = Bereich.Cells(2, 1).Value
Merker = Application.SheetsInNewWorkbook
Application.SheetsInNewWorkbook = 1
Workbooks.Add
Application.SheetsInNewWorkbook = Merker
With ActiveWorkbook
 Bereich.Copy Destination:=.Range("A1")
 .SaveAs "c:\test\meinemail.xls"
 AWS = .FullName
End With
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
 .To = Zelle\_1
 .Subject = "Testmeldung von Excel2000 " & Date & Time
 .attachments.Add AWS
 .Body = "Das ist ein Test." & vbCrLf & "Bitte ignorieren."
 'Hier wird die Mail nochmals angezeigt
 .Display
 'Hier wird die Mail gleich in den Postausgang gelegt
 '.Send
End With
'Mailworkbook liquidieren
'Kill AWS
'Outlook schliessen
'OutApp.Quit
'Set OutApp = Nothing
'Set Nachricht = Nothing
End Sub

Hey Reinhard,

von der Idee her echt super, allerdings scheint noch irgendwo ein Fehler versteckt zu sein. Ich bin gerade dabei diesen zu finden, wenn ich neues weiß melde ich mich erneut. Evtl. findest du ja auch noch einen Anreitz, was noch falsch sein könnte :wink:

Vielen Dank schoneinmal!

Grüße … :smile:

von der Idee her echt super, allerdings scheint noch irgendwo
ein Fehler versteckt zu sein. Ich bin gerade dabei diesen zu
finden, wenn ich neues weiß melde ich mich erneut. Evtl.
findest du ja auch noch einen Anreitz, was noch falsch sein
könnte :wink:

Hallo Star,

Fehler im Code:

With ActiveWorkbook
 Bereich.Copy Destination:=.Worksheets(1).Range("A1")
 .SaveAs "c:\test\kwmeinemail.xls"
 AWS = .FullName
 .Close savechanges:=False
End With

Gruß
Reinhard

Vielen viel dank für deine Bemühungen :smile:

allerdings vermute ich, dass er beim „zwischenspeichern“ der Datei noch einen Fehler schmeißt … bekomme da immernoch einen Fehler.
Habe gerade nochmal gegoogelt, es gibt andere Alternativen, jedoch bekomm ich auch diese (als nicht wirklich guter Programmierer) nicht ans Laufen :frowning:

allerdings vermute ich, dass er beim „zwischenspeichern“ der
Datei noch einen Fehler schmeißt … bekomme da immernoch
einen Fehler.

Hallo Star,

jetzt getestet, kein Fehler.
Mit deiner ich sag mal Fehlerbeschreibung" kann keiner was anfangen.

Gruß
Reinhard

Nabend,

hab das Ganze gerade nochmal debuggt und er sagt mir, dass ich den Fehler .SaveAs „c:\test\kwmeinemail.xls“ in diesem Ausdruck habe!

Also ich habe in Excel testeshalber eine Mappe angelegt, welche einfach ein paar (sinnlose) Daten enthält. Danach habe ich einen Button eingegefügt, welchen ich duch doppelklick dann programmieren kann.
Habe dort dann den von dir modifizierten Quelltext eingefügt, bekomme aber immer den o. g. Fehler … mach ich irgendwas falsch?

Grüße und dickes Lob :smile:

hab das Ganze gerade nochmal debuggt und er sagt mir, dass
ich den Fehler .SaveAs „c:\test\kwmeinemail.xls“ in diesem
Ausdruck habe!

Hallo Star,

existiert denn dieses Verzeichnis c:\test bei dir?
Schreibrechte?

Gruß
Reinhard

AHHHH dich Blödpaddel, hatte den Ordner nicht angelegt.
Super vielen DANK
Echt super nett … :smile:
Schönen Abend!