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.
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.

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.