AW: excel-datei per email versenden
26.03.2009 10:39:47
fcs
Hallo Lara,
wenn Excel den "ganzen" Tag geöffnet bleibt und die Datei nach dem Öffnen nicht wieder geschlossen wird, dann geht etwa folgendes:
'Erstellt mit Excel 2003
'Code unter "DieseArbeitsmappe"
Option Explicit
Private Sub Workbook_Open()
Set wbZiel = ThisWorkbook
Set wsZiel = wbZiel.Worksheets(1)
wbZiel.UpdateLink Name:=wbZiel.LinkSources
'Testzeile - Versand nach 30 Sekunden
'Application.OnTime earliesttime:=Now + TimeSerial(0, 0, 30), _
procedure:="subUpdateLinksAndMail"
'Aktualisierung und Versand um 17:00:00 Uhr
Application.OnTime earliesttime:=TimeSerial(17, 0, 0), procedure:="subUpdateLinksAndMail"
End Sub
'Code in einem allgemeinen Modul
Option Explicit
Public wbZiel As Workbook
Public wsZiel As Worksheet
Sub subUpdateLinksAndMail()
wbZiel.UpdateLink Name:=wbZiel.LinkSources
'Versand mit 30 Sekunden Verzögerung, um Aktualisierung abzuwarten - diese ggf. anpassen
MsgBox "In 30 Sekunden e-Mail versenden" 'Testzeile
Application.OnTime earliesttime:=Now + TimeSerial(0, 0, 30), procedure:="subMail"
End Sub
Sub subMail()
wsZiel.Activate
wsZiel.Range("A1").Activate
MsgBox "e-Mail wird versendet" 'Testzeile
' wbZiel.SendMail Array("xy", "yx"), wbZiel.Name
'Datei nach Versand speichern und schließen
wbZiel.Close savechanges:=True
End Sub
Andere Lösungen werden komplizierter, da ggf. geprüft werden muss, ob die Datei schon geöffnet ist und man muss dafür sorgen, dass die Makros in der Datei als vertrauenswürdig eingestuft werden, und ggf. die Makro-Sicherheitsstufe anpassen, damit beim Öffnen der Datei die Abfrage zum aktivieren der Makros nicht erfolgt.
Dann könnte man auch den in Windows integrierten Task-Planer nutzen, um die Datei zu Öffnen und zu versenden.
Gruß
Franz