Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
956to960
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
956to960
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mail.Attachments.Add ActiveSheet

Mail.Attachments.Add ActiveSheet
05.03.2008 14:21:50
Werner
Hallo zusammen!
Gibt es nur diesen einen Befehl um Anhänge in eine Mail einzufügen?
Mail.Attachments.Add ThisWorkbook.FullName
Wenn ich Mail.Attachments.Add ActiveSheet eingebe kriege ich eine Fehlermeldung.
Ich möchte nur ein bestimmtes Tabellenblatt als Anhang verschicken.
An der Sicherheitsabfrage bin ich vorbei.

Sub MailVersenden()
Dim outl, Mail As Object
Dim i As Integer
Dim Nachricht
For i = 6 To 6 'Zeile 6
If Cells(i, 2) = "" Then GoTo ende
Set outl = CreateObject("Outlook.Application")
Set Mail = outl.CreateItem(0)
Mail.Subject = Cells(i, 2) & " " & Cells(8, 4) & Cells(12, 1) & " / " & Cells(14, 1) ' _
Betreffzeile
Mail.To = Cells(i, 2) 'Adresse
Mail.Attachments.Add ActiveSheet
Mail.Display
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
WshShell.AppActivate Mail
Application.Wait (Now + TimeValue("0:00:02"))
WshShell.SendKeys ("%s")
Set Mail = Nothing
Set outl = Nothing
Set WshShell = Nothing
Application.Wait (Now + TimeValue("0:00:03"))
ende:
Next i
End Sub


Stört euch nicht an dieser nicht vorhandenen Wiederholungsroutine. Habe den Code aus einer anderen Datei kopiert und (zugegen bestimmt nicht clever) angepasst.
Wäre super, wenn es da was gäbe, um nur ein einzelnes Tabellenblatt als Anhang zu verschicken.
Gruß und DANKE!
Werner

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mail.Attachments.Add ActiveSheet
05.03.2008 14:45:36
Werner
Danke für den Tip.
Mein Englisch ist allerdings sehr bescheiden und der Link übersteigt meine VBA-Kenntnisse doch um Einiges.
Gibt's keinen "einfachen" Befehl, um das aktive Arbeitsblatt als Anlage in die Mail einzufügen?
Gruß
Werner

Anzeige
AW: Mail.Attachments.Add ActiveSheet
05.03.2008 15:22:33
Case
Hallo,
nun dann schau Dich doch mal auf dieser Homepage etwas um. Ron hat auch ein fertiges Tool:
http://www.rondebruin.nl/mail/add-in.htm
Und nein - einfach mit einem Befehl geht das nicht.


Servus

Case


AW: Mail.Attachments.Add ActiveSheet
05.03.2008 15:35:00
Werner
Die AddInn's sind nicht schlecht, führen mich aber nicht zur Lösung meines Problems.
Es wird zwar ein einzelnes Tabellenblatt angehängt... aber die Mailadresse und Betreff muss ich "zu Fuß" eingeben.
Gruß
Werner

Anzeige
AW: Mail.Attachments.Add ActiveSheet
05.03.2008 15:50:00
Waven
Hallo Werner
Du kannst zuerst das gewünschte Blatt in ein neues Workbook kopieren.
ActiveSheet.Copy
und es dann irgendwo speichern
ActiveWorkbook.SaveAs Filename:="C:\test.xls"
und danach mit Mail.Attachments.Add ActiveWorkbook.FullName anhängen.
Nach dem verschicken kannst du die test.xls wieder schliessen und löschen.
Workbooks("test.xls").Close SaveChanges:=False
Kill "C:\test.xls"
Gruss
Waven

AW: Mail.Attachments.Add ActiveSheet
06.03.2008 07:41:09
Werner
Danke für eure Tipps.
Leider bringen sie mich der Lösung meines Problems nicht näher.
Da mehrere User auf meine Datei zugreifen ist das Abspeichern unter einem bestimmten Namen nicht möglich.
Zudem sind bei uns im Netzwerk die Pfade nicht für alle gleich.
Oder kann man Excel sagen, dass es die Datei
- an dem Ort speichern soll, an dem sich auch die Originaldatei befindet? Also den konkreten Pfad weglassen und sagen "speichere da, wo das Original liegt"?
- auf einen evtl. bereits vorhandenen Dateinamen prüfen und ggf. einen neuen Namen vergeben soll?
Gruß und Danke
Werner

Anzeige
AW: Mail.Attachments.Add ActiveSheet
06.03.2008 15:08:06
Waven
Hallo Werner
Also mit ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\test.xls" kannst du es unter dem selben Pfad abspeichern.
Im meinem Beispiel wird ja die Datei immer wieder gelöscht, also sollte sie nicht mehr vorhanden sein.
ach ja und löschen mit Kill ThisWorkbook.Path & "\test.xls"
Gruss
Waven

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige