Mails über Outlook zu versenden ist relativ einfach...

Hier eine Version, wo

  1. Outlook als LateBinding genutzt wird, so dass kein Verweis gesetzt werden muss.
  2. Es wird geprüft ob Outlook überhaupt auf dem System installiert ist
  3. Die Standard-Signatur des installierten Outlook-Profils im Body eingefügt werden kann.

Modul

View source
Sub MailSenden(olAdresse As String, Optional olBetreff As String, Optional olHTMLBody As String, Optional olNoSignatur As Boolean, Optional olNoSend As Boolean)
 Dim olOldBody As String
 Dim olApp As Object
 If OutlookInstalliert = False Then
 MsgBox "Es wurde kein Outlook auf Ihrem Systme gefunden!"
 Else
 Set olApp = CreateObject("Outlook.Application")
 With olApp.CreateItem(0)
 On Error Resume Next
 If olNoSignatur = False Then
 .GetInspector.CommandBars.Item("Insert").Controls("Signatur").Controls(1).Execute
 olOldBody = .HTMLBody
 End If
 .To = olAdresse
 .Subject = olBetreff
 .HTMLBody = olHTMLBody & olOldBody
 If olNoSend = True Then
 .Display 'Mail nur Anzeigen Nicht senden
 Else
 .Send
 End If
 End With
 Set olApp = Nothing
 End If
 
End Sub
 
 
Function OutlookInstalliert() As Boolean
 Dim olApp As Object
 On Error Resume Next
 Set olApp = CreateObject("Outlook.Application")
 OutlookInstalliert = Err = 0
 Set olApp = Nothing
End Function
 
 
 

Um das Modul aufzurufen wird einfach über folgenden Punkt erledigt.

", "Hier kommt eine Testmail", "Text der Mail....", False, True ";Aufruf

View source
 MailSenden "Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!", "Hier kommt eine Testmail", "Text der Mail....", False, True 

In diesem Beispiel wird die Mail nicht direkt gesendet sondern angezeigt.