E-Mail -Versand funktioniert in Excel 2007 und in Excel 2010 (Beta). Nur leider ........ bei Excel 2003 macht er es nicht.
Hallö
da mir Didi1954 die letzten Tage sehr viel beigebracht hat und mein erstes Problem mehr als ausführlich und zuvorkommend gelöst hat,
möchte ich gerne den Versuch wagen und hier nun mein neu aufgetauchtes Problem mit Eurer Hilfe zu lösen.
Ich habe mit Hilfe des rundumfassenden Wissens im WWW
nun bei mir einen Button eingebaut
der den Inhalt (reine Werte) des aktiven Blattes kopiert,
einen Ordner erstellt,
die Datei mit einem bestimmten Namen und im Excel 2003 Format dort ablegt,
dann das E-Mail Programm öffnet
es als Anhang anhängt
damit es versendet werden kann.
Dieser funktioniert eigentlich perfekt in Excel 2007 und in Excel 2010 (Beta).
Nur leider ........ bei Excel 2003 macht er es nicht.
Anscheinend kennt Excel 2003 die Anweisung zum Öffnen des E-Mail Programms nicht ? Es scheint an dem Punkt zu haken ???
Wichtig ist, es darf sich nicht auf ein bestimmtes E-Mail Programm beziehen. Wie gesagt ab Excel 2007 funktioniert es, ob Lotus oder auch Outlook.
Kann mir jemand helfen, dies in den Griff zu bekommen ?
Lieb Grüß
Knibbli
Achso, hier noch der jetzige Code ...
<Code ="vba">
Sub Blatt_Email_click()
Send_E_Mail
End Sub
Sub Formeln_wandeln()
Dim a As Range
For Each a In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas)
a.Copy
a.PasteSpecial (xlPasteValuesAndNumberFormats)
Next a
Application.CutCopyMode = False
End Sub
Private Sub Neuen_Ordner_erstellen_Click()
On Error Resume Next
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOrdner = objFSO.CreateFolder("C:\TEST")
End Sub
Sub Send_E_Mail()
Dim SavePath As String
Neuen_Ordner_erstellen_Click
SavePath = "C:\TEST"
Application.ScreenUpdating = False
ActiveSheet.Copy
Formeln_wandeln
ActiveWorkbook.SaveAs SavePath & "\" & "Test" & "-" & ActiveSheet.Name & "_DAT_" & Format(Now, "yyyy-mm-dd_hh-mm-ss") & "_Uhr" & ".xls", FileFormat:=xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
Application.Dialogs(xlDialogSendMail).Show
ActiveWindow.Close
End Sub
da mir Didi1954 die letzten Tage sehr viel beigebracht hat und mein erstes Problem mehr als ausführlich und zuvorkommend gelöst hat,
möchte ich gerne den Versuch wagen und hier nun mein neu aufgetauchtes Problem mit Eurer Hilfe zu lösen.
Ich habe mit Hilfe des rundumfassenden Wissens im WWW
nun bei mir einen Button eingebaut
der den Inhalt (reine Werte) des aktiven Blattes kopiert,
einen Ordner erstellt,
die Datei mit einem bestimmten Namen und im Excel 2003 Format dort ablegt,
dann das E-Mail Programm öffnet
es als Anhang anhängt
damit es versendet werden kann.
Dieser funktioniert eigentlich perfekt in Excel 2007 und in Excel 2010 (Beta).
Nur leider ........ bei Excel 2003 macht er es nicht.
Anscheinend kennt Excel 2003 die Anweisung zum Öffnen des E-Mail Programms nicht ? Es scheint an dem Punkt zu haken ???
Wichtig ist, es darf sich nicht auf ein bestimmtes E-Mail Programm beziehen. Wie gesagt ab Excel 2007 funktioniert es, ob Lotus oder auch Outlook.
Kann mir jemand helfen, dies in den Griff zu bekommen ?
Lieb Grüß
Knibbli
Achso, hier noch der jetzige Code ...
<Code ="vba">
Sub Blatt_Email_click()
Send_E_Mail
End Sub
Sub Formeln_wandeln()
Dim a As Range
For Each a In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas)
a.Copy
a.PasteSpecial (xlPasteValuesAndNumberFormats)
Next a
Application.CutCopyMode = False
End Sub
Private Sub Neuen_Ordner_erstellen_Click()
On Error Resume Next
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objOrdner = objFSO.CreateFolder("C:\TEST")
End Sub
Sub Send_E_Mail()
Dim SavePath As String
Neuen_Ordner_erstellen_Click
SavePath = "C:\TEST"
Application.ScreenUpdating = False
ActiveSheet.Copy
Formeln_wandeln
ActiveWorkbook.SaveAs SavePath & "\" & "Test" & "-" & ActiveSheet.Name & "_DAT_" & Format(Now, "yyyy-mm-dd_hh-mm-ss") & "_Uhr" & ".xls", FileFormat:=xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
Application.Dialogs(xlDialogSendMail).Show
ActiveWindow.Close
End Sub
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 148268
Url: https://administrator.de/contentid/148268
Ausgedruckt am: 26.11.2024 um 02:11 Uhr
7 Kommentare
Neuester Kommentar
Moin,
natürlich funktioniert sowas auch in Excel 2003. Dort wird es nur anders gehandled.
'Dim olApp As Object
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
'Empfänger
' .Recipients.Add "vorname.name@domain.xy"
'Betreff
.Subject = "Test-Mail"
'Nachricht
.Body = "Das ist eine e-Mail" & Chr(13) & _
"Viele Grüße..." & Chr(13) & Chr(13)
'Lesebestätigung aus
.ReadReceiptRequested = False
.Send
' End With
Set olApp = Nothing
Ich hoffe, das hilft dir irgendwie weiter. Das Ganze funktioniert jetzt nur mit Outlook. Wie es bei Lotus geht, kann ich dir momentan leider nicht sagen, da ích sowas nicht nutze.
natürlich funktioniert sowas auch in Excel 2003. Dort wird es nur anders gehandled.
'Dim olApp As Object
Set olApp = CreateObject("Outlook.Application")
With olApp.CreateItem(0)
'Empfänger
' .Recipients.Add "vorname.name@domain.xy"
'Betreff
.Subject = "Test-Mail"
'Nachricht
.Body = "Das ist eine e-Mail" & Chr(13) & _
"Viele Grüße..." & Chr(13) & Chr(13)
'Lesebestätigung aus
.ReadReceiptRequested = False
.Send
' End With
Set olApp = Nothing
Ich hoffe, das hilft dir irgendwie weiter. Das Ganze funktioniert jetzt nur mit Outlook. Wie es bei Lotus geht, kann ich dir momentan leider nicht sagen, da ích sowas nicht nutze.
Hallo Knibbli!
Dieser (etwas umbebaute) Code funktioniert z.B. in Excel 2002 mit dem Standard-E-Mail-Programm Thunderbird, wobei ich das Dateiformat "xlExcel7" gewählt habe.
Und dieser Code würde auch die aktuelle Arbeitsmappe mit Betreffzeile versenden, wobei auch mehrere Empfänger mittels eines Arrays festgelegt werden können:
Gruß Dieter
Dieser (etwas umbebaute) Code funktioniert z.B. in Excel 2002 mit dem Standard-E-Mail-Programm Thunderbird, wobei ich das Dateiformat "xlExcel7" gewählt habe.
Option Explicit
Const SaveFolder = "C:\Test\Mail"
Private Sub Blatt_Email_click()
Send_E_Mail
End Sub
Private Sub Send_E_Mail()
Dim objFSO As Object, SavePath As String
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(SaveFolder) = False Then
If objFSO.CreateFolder(SaveFolder) = False Then
MsgBox "Der Ordner konnte nicht erstellt werden!", vbExclamation, "Fehler": Exit Sub
End If
End If
Call Formeln_wandeln
SavePath = SaveFolder & "\" & "Test" & "-" & ActiveSheet.Name & "_DAT_" & Format(Now, "yyyy-mm-dd_hh-mm-ss") & "_Uhr" & ".xls"
ActiveWorkbook.SaveAs SavePath, FileFormat:=xlExcel7, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
Application.Dialogs(xlDialogSendMail).Show: ActiveWindow.Close
End Sub
Private Sub Formeln_wandeln()
Dim a As Range
Application.ScreenUpdating = False
For Each a In ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas)
a.Copy
a.PasteSpecial (xlPasteValuesAndNumberFormats)
Next
With Application
.CutCopyMode = False
.ScreenUpdating = True
End With
End Sub
Und dieser Code würde auch die aktuelle Arbeitsmappe mit Betreffzeile versenden, wobei auch mehrere Empfänger mittels eines Arrays festgelegt werden können:
Sub Test()
ThisWorkbook.SendMail Recipients:="ErwinMustermann@Mail.de", Subject:="Excel-Arbeitsmappe"
End Sub
Gruß Dieter
Hallöchen Knibbli!
Das xlExcel7 habe ich nur genommen, weil es in meiner Version (2002) kein xlExcel8 gibt
Bekommst Du in Excel 2003 eine Fehlermeldung?
Gruß Dieter
Das xlExcel7 habe ich nur genommen, weil es in meiner Version (2002) kein xlExcel8 gibt
Bekommst Du in Excel 2003 eine Fehlermeldung?
Gruß Dieter
ähm, mal gefragt, ich möchte eine Email Vorlage verwenden und die Excel Datei anhängen, diese Funktion muss in die mappe1 eingebaut werden und der Inhalt aus der mappe2 an die Vorlage gehangen werden.....
geht das?
geht das?