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

Versenden Tabelle mit VBA - Anhang umbennen

Versenden Tabelle mit VBA - Anhang umbennen
30.08.2005 10:36:21
Claudia
Hallo,
ich hab folgendes Problem:
Es soll jeden Monat eine Tabelle per Mail verschickt werden.
Es wird eine Copy von dem ausgewählten Blatt erstellt und auch versandt. Leider heisst die Kopie dann "Mappe1.xls".. und genau da liegt mein Problem.
Wie kann ich die Datei so umbennen, dass Sie wie der Betreff ("Stundenabrechnung_" & monat & jahr & name) beispielsweise aufgebaut ist?
Geht das überhaupt? Hab zwar schon mal was versucht (s.u.), komme aber grad nicht weiter :-(
kann jmd helfen?

Sub einzelnesBlattSenden()
Dim blatt As Integer
Dim firma As String
Dim monat As String
Dim jahr As String
Dim name As String
'Dim anhang As String
blatt = InputBox("Welches Blatt soll versendet werden?" & Chr(13) & _
"Bitte laufende Blattnummer eingeben")
Sheets(blatt).Copy
'anhang = ThisWorkbook.FullName
firma = Range("a1").Value
monat = Range("c1").Value
jahr = Range("e1").Value
name = Range("f1").Value
ActiveWorkbook.SendMail "email@email.de", "Stundenabrechnung_" & monat & jahr & name
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub

Danke schon mal im Voraus
LG
CLaudia

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Versenden Tabelle mit VBA - Anhang umbennen
30.08.2005 10:53:15
Thorsten
Hallo Claudia,
ich probiere gerade ähnliches

Sub Excel_Sheet_via_Outlook_Senden()
Dim MyMessage As Object, MyOutApp As Object
Dim SavePath As String
Dim AWS As String
SavePath = "D:" '"E:\Eigene Dateien"
'Kopiert aktuelles Sheet in eine neue Mappe
'welche nur diese Tabelle enthält
ActiveSheet.Copy
'Speichert die Datei unter dem Tabellennamen und einem Zeitstempel
ActiveWorkbook.SaveAs SavePath & "\" & ActiveSheet.Name & "_" & Format(Now, "ddmmyyyy_hhmm") & ".xls"
'Mappenname wird an Variable übergeben
'und anschliessend gleich geschlossen
With ActiveWorkbook
AWS = .FullName
.Close
End With
'InitializeOutlook = True
Set MyOutApp = CreateObject("Outlook.Application")
'Nachrichtenobject erstellen
Set MyMessage = MyOutApp.CreateItem(0)
With MyMessage
.To = "irgendwer@Irgenwo.de"
.Subject = "Testmeldung von Excel2000 " & Date & Time
'Hier wird die temporär gespeicherte Datei als
'Attachment zugefügt
.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
'.Send
'Hier wird die temporäre Datei wieder gelöscht
Kill AWS
End With
MyOutApp.Quit
Set MyOutApp = Nothing
Set MyMessage = Nothing
End Sub

Vielleicht hilft Dir das ja weiter
Gruß
Thorsten
Anzeige
AW: Versenden Tabelle mit VBA - Anhang umbennen
30.08.2005 10:58:17
Nepumuk
Hi Claudia,
Beispielsweise so:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" ( _
    ByVal DirPath As String) As Long

Public Sub einzelnesBlattSenden()
    Dim blatt As Integer
    Dim firma As String
    Dim monat As String
    Dim jahr As String
    Dim strName As String
    Dim strWorkbookName As String
    'Dim anhang As String
    
    blatt = InputBox("Welches Blatt soll versendet werden?" & Chr(13) & _
        "Bitte laufende Blattnummer eingeben")
    Sheets(blatt).Copy
    
    'anhang = ThisWorkbook.FullName
    MakeSureDirectoryPathExists ("C:\Temp\")
    firma = Range("a1").Value
    monat = Range("c1").Value
    jahr = Range("e1").Value
    strName = Range("f1").Value
    strWorkbookName = "Stundenabrechnung_" & monat & jahr & strName & ".xls"
    With ActiveWorkbook
        .SaveAs "C:\Temp\" & strWorkbookName
        .SendMail "email@email.de", "Stundenabrechnung_" & monat & jahr & strName
        .Close SaveChanges:=False
    End With
    Kill "C:\Temp\" & strWorkbookName
End Sub

Du solltest Variablen keinen Namen geben, welche als Schlüsselwörter in VBA gelten. Bei dir die Varianbe "name". Setze am besten vor den Variablennamen immer einen Präfix, dann kann nichts passieren. Mehr dazu findest du hier: http://www.it-academy.cc/content/article_browse.php?ID=995
Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
AW: Versenden Tabelle mit VBA - Anhang umbennen
30.08.2005 11:08:26
Claudia
cool, danke so hat es geklappt.
thanks
Claudia

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige