Microsoft Excel

Herbers Excel/VBA-Archiv

Tabellenblatt kopieren und per Mail versenden

Betrifft: Tabellenblatt kopieren und per Mail versenden von: Micha
Geschrieben am: 11.08.2004 17:17:32


Hallo Leute!

Bitte lachte nicht, aber ich will per VBA ein Tabellenblatt (das aktuelle) in eine neue Tabelle kopieren. Dann soll die Tabelle in ein bestimmtes Verzeichnis gespeichert werden. (z.B. E:\Eigene Dateien). Und jetzt die zwei Herausforderungden: Der Dateiname soll aus dem Namen des Tabellenblattes bestehen und einem Wort aus einer bestimmten Zelle von einem anderen Blatt.

Dann wäre es noch richtig geil, wenn die erzeugte Tabelle geschlossen wird und per Mail an eine feste Adresse geschickt wird...

Geht das? Kann mir da jemand helfen?

Vielen Dank schon einmal...

Micha

  


Betrifft: AW: Tabellenblatt kopieren und per Mail versenden von: Boris
Geschrieben am: 11.08.2004 17:43:16

Hi Micha,

Option Explicit

Sub test()
Dim str As String
str = Sheets("Anderes Blatt").[a1]
ActiveSheet.Copy
ActiveWorkbook.SaveAs "E:\Eigene Dateien\" & ActiveSheet.Name & str & ".xls"
End Sub


Dann per Mail versenden - dazu findest du bestimmt in der Recherche ausreichend Beispiele.

Grüße Boris


  


Betrifft: Danke von: Micha
Geschrieben am: 11.08.2004 17:47:23

.


  


Betrifft: AW: Tabellenblatt kopieren und per Mail versenden von: Ramses
Geschrieben am: 11.08.2004 17:48:56

Hallo

probier mal, sollte tun.

Sub Excel_Sheet_via_Outlook_Senden()
    Dim Nachricht As Object, OutApp As Object
    Dim SavePath As String
    Dim AWS As String
    SavePath = "d:" '"E:\Eigene Dateien"
    Set OutApp = CreateObject("Outlook.Application")
    'Kopiert aktuelles Sheet in eine neue Mappe
    'welche nur diese Tabelle enthält
    ActiveSheet.Copy
    'Speichert die Datei unter dem Tabellennamen und dem Namen in A1
    ActiveWorkbook.SaveAs SavePath & "\" & ActiveSheet.Name & " " & ActiveSheet.Range("A1")
    'Aktive Arbeitsmappe wird als mail gesendet
    AWS = ActiveWorkbook.FullName
    'InitializeOutlook = True
    Set Nachricht = OutApp.CreateItem(0)
    With Nachricht
        .To = "irgendwer@Irgenwo.de"
        .Subject = "Testmeldung von Excel2000 " & Date & Time
        .Attachments.Add AWS
        'Hier wird eine normale Text Mail erstellt
        '.body = "Das ist ein Test" & vbCrLf & "Bitte ignorieren"
        'Hier wird die HTML Mail erstellt
        .HTMLBody = "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
        'Hier könnte die Datei wieder gelöscht werden
        'Kill AWS
    End With
    OutApp.Quit
    Set OutApp = Nothing
    Set Nachricht = Nothing
End Sub


Gruss Rainer


 

Beiträge aus den Excel-Beispielen zum Thema "Tabellenblatt kopieren und per Mail versenden"