ExcelVBA Email autom. senden wenn Zelle Wert hat

Hallo,
nachfolgender Code funktioniert bis auf eine Winzigkeit, es erscheint das Email-fenster und ich muss noch auf „Senden“ klicken.
Wie kann auch das autommatisch von dem Makro miterledigt werden?
Dankeschön für evtl. Mühe
Gruß
Reinhard

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 eMail As String, Subject As String, Body As String
eMail = „[email protected]
Subject = „Du…“
Body = „… ohne Worte :smile:…“
Call Mail(eMail, Subject, Body)
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row 1 And Target.Column 1 Then Exit Sub
If Target.Value > 2 Then Call MailVersenden
End Sub

Hi,
wenn du das mailto: „Protokoll“ nutzt, dann kannst du nicht umgehen, dass sich noch ein Mailfenster öffnet. Du kannst die Mail nicht direkt absenden. Wenn du aber sowieso im Excel-VBA-Modus bist, dann erzeugt dir ein Outlook-Objekt und sende die Mail direkt über die Outlook-API. Beispiele findest du bestimmt bei Google…

Ralph

Lösung gefunden mit sendkeys
Hallo Ralph,
danke für die Antwort, ich habe es mir mit sendkeys gelöst, APIs beherrsch ich noch kaum bis gar nicht :smile:
Gruß
Reinhard

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row 1 And Target.Column 1 Then Exit Sub
If Target.Value > 2 Then Call tt
End Sub

Sub tt()
raus = Shell(„c:\Programme\Outlook Express\msimn.exe“, 1)
'AppActivate raus
SendKeys „%“ & „DNE“ & „[email protected]
SendKeys „{TAB}“ & „{TAB}“ & „{TAB}“ & „Feld wurde geändert“ & „{TAB}“
SendKeys "dies ist eine automatische Erinnerung, GuK "
SendKeys „%s“
End Sub