Senden an Mailempfänger als Code
26.01.2004 13:38:41
Martina
ich habe nun etliche Vorschläge bekommen, wie ich eine einzelne Tabelle aus einem Workbook versenden kann. Leider sind sie in sofern ungünstig, da sie z.B. auf Outlook Express zugreifen, obwohl Outlook 2000 installiert wurde etc.
GIBT ES KEINEN CODE, der die Funktion Datei / Senden an Mailempfänger unterstützt? Vorteil hier, er nutzt Outlook 2000 UND die Mail kommt im HTML-Format und nicht als Text-Format.
Soweit bin ich bisher, aber wie gesagt, er greift auf outlook express zu und dies nur im textmodus. Ausserdem besteht das zu versendende Sheet auch aus leeren Zeilen, er endet mit der schleife aber immer gleich.... Der Bereich ist eigentlich mit A1:H20 immer gleich.
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
Application.ScreenUpdating = False
Sheets("Zeitkonto").Unprotect "segelboot"
sMail = Sheets("Jahresplan").Range("C7").Value
sSubject = Sheets("Jahresplan").Range("B5").Value & " " & Sheets("Jahresplan").Range("B6").Value
Set rng = Sheets("Zeitkonto").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)
Application.ScreenUpdating = True
Sheets("Zeitkonto").Protect "segelboot"
End Sub