Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1236to1240
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
Tabellenblatt per Mail versenden.
Lisa
Hallo zusammen, ich habe ein Problem, zu dem ich nicht weiterkomme und auf eure Hilfe hoffe!
Es gibt zu diesem Thema schon Beiträge, die mir aber nicht weitergeholfen haben.
Mittels des Begfügten Makros kann ich meine Exceldatei problemlos als Emailanhang versenden!
Nun möchte ich hierzu aber nicht die ganze Datei (Workbook) sondern nur eine Tabelle Sheets(1)versenden.
Ich weiß leider nicht was ich hier umstellen muss und wäre für eine Hilfestellung sehr dankbar!
Private Sub CommandButton1_Click()
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String
AWS = Environ("USERPROFILE") & "\" & ThisWorkbook.Name
ThisWorkbook.SaveCopyAs AWS
Application.Visible = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "@.de"
.Cc = ""
.Subject = "Bitte ergänzen " & Date & Time
.Attachments.Add AWS
.Body = "Anbei Daten" & vbCrLf & ""
.Display
End With
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub

LG Lisa

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

Betreff
Benutzer
Anzeige
AW: Tabellenblatt per Mail versenden.
21.11.2011 16:01:34
Rudi
Hallo,
versuch's mal so:
Private Sub CommandButton1_Click()
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String
AWS = Environ("USERPROFILE") & "\" & ThisWorkbook.Name
Sheets(1).Copy  'Blatt anpassen
With ActiveWorkbook
.SaveAs AWS
.Close
End With
Application.Visible = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "@.de"
.Cc = ""
.Subject = "Bitte ergänzen " & Date & Time
.Attachments.Add AWS
.Body = "Anbei Daten" & vbCrLf & ""
.Display
End With
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub

Gruß
Rudi
Anzeige
AW: Tabellenblatt per Mail versenden.
21.11.2011 17:05:31
Lisa
Hallo Rudi, danke für dein schnelle Antwort!
Ich bekomme zum einem die Ansage, diese Datei existiert bereits an diesem Paltz soll sie überschrieben werden?
wird das verneint, dann gibt es den Laufzeitfehler 1004, Die Methode save as ist fehlgeschlaegn.
bejat ma sie, dann kommt der Laufzeitfehler 1004, mit "kann die Datei nicht unter dem Namen einerbereits geöffneten Datei speichern!"
Bis zum Outlook komme ich erst garnicht!
Nun habe ich etwas rumexperimentiert:
Private Sub CommandButton1_Click()
ActiveWorkbook.ActiveSheet.Copy
ActiveWorkbook.SaveAs "Tabelle1" & ".xls"
AWS = ActiveWorkbook.FullName
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
AWS = Environ("USERPROFILE") & "\" & ThisWorkbook.Name
Application.Visible = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "@.de"
.CC = ""
.Subject = "Bitte ergänzen " & Date & Time
.Attachments.Add AWS
.Body = "Anbei Daten" & vbCrLf & ""
.Display
End With
Set OutApp = Nothing
Set Nachricht = Nothing
End Sub
hier wird nun aber abgefragt, ob die Datei gespeichert werden soll! bejat man dies, dann ist sie wie gewünscht im Mailanhang! verneint man es gibt es auch hier einen debugger!
Eigentlich ist die Abfrage zum speichern doch überflüssig, da sie ja zwischengespeichert und nach dem senden wieder gelöscht werden soll!
Wie bekomme ich die Abfrage weg?
LG Lisa
Anzeige
AW: Tabellenblatt per Mail versenden.
21.11.2011 17:56:21
Rudi
Hallo,
neuer Anlauf.
Private Sub CommandButton1_Click()
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String, wksMail As Worksheet
Set wksMail = Sheets(1) 'zu versendendes Blatt
AWS = Environ("USERPROFILE") & "\" & wksMail.Name & ".xls"
'temporäre Mappe erstellen
wksMail.Copy
With ActiveWorkbook
.SaveAs AWS
.Close
End With
Application.Visible = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "@.de"
.Cc = ""
.Subject = "Bitte ergänzen " & Date & Time
.Attachments.Add AWS
.Body = "Anbei Daten" & vbCrLf & ""
.Display
End With
Set OutApp = Nothing
Set Nachricht = Nothing
Kill AWS 'temporäre Mappe löschen
End Sub

Gruß
Rudi
Anzeige
AW: danke, es funktioniert super!:)
22.11.2011 07:43:09
Lisa
genauso funktioniert es. ich danke die für deine Hilfe!
LG Lisa

186 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige