meinen Wunsch einen Text aus Excel via Email zu versenden ist eigentlich mit der im hiesigen Archiv gefundenen Prozedur (s. u.) erfüllt. Doch habe ich zwei Fragen:
1. Wie kann ich dabei einen Zeilenumbruch erzielen? Mit anhängen von '& VbCrLf' hatte ich keinen Erfolg.
2. Sucht sich die Prozedur das Email-Programm auf dem Rechner selbst oder gilt sie automatisch nur für Outlook?
Herzlichen Dank für Eure Bemühungen!
Liebe Grüße Klaus
------------------------------------------------------
Im Archiv gefunden:
StandardModule: basMain
Private Declare Function ShellExecute Lib "Shell32.dll" _
Alias "ShellExecuteA" (ByVal hWnd As Long, _
ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Private Sub Mail( _
eMail As String, _
Optional Subject As String, _
Optional Body As String)
Call ShellExecute(0&, "Open", "mailto:" + eMail + _
"?Subject=" + Subject + "&Body=" + Body, "", "", 1)
End Sub
Sub MailVersenden()
Dim rng As Range
Dim sMail As String, sSubject As String
Dim sBody As String
Dim iRow As Integer, iCol As Integer
sMail = "hans@herber.de"
sSubject = "Excel-Daten"
Set rng = Range("A1").CurrentRegion
For iCol = 1 To rng.Columns.Count
For iRow = 1 To rng.Rows.Count
sBody = sBody & rng.Cells(iRow, iCol) & " "
Next iRow
Next iCol
Call Mail(sMail, sSubject, sBody)
End Sub