Simpele vraag: Ik wil graag een automatische verzendactie. De onderstaande code geeft mij een "Outlook-verzend E-mail" venstertje. Maar ik wil dat deze code ook de "Verzend" button bedient en niet het venstertje laat staan zodat ik op verzenden moet drukken.
Ofwel: Wat is de code voor "automatisch verzenden" in dit geval?
Code:
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 Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim lngResponse As Long
Dim URL As String, strEmail As String, strSubject As String
If Left(Target.Address, 2) = "$D" Then
If Target.Value < Range("$E" & Right(Target.Address, 2)).Value Then
lngResponse = MsgBox("De voorraad is op. Nieuwe voorraad bestellen?", vbYesNo)
If lngResponse = vbYes Then
strEmail = Range("$H" & Right(Target.Address, 2)).Value
strSubject = "Nieuwe voorraad bestellen:%0D%0A%0D%0A" & Range("$F" & Right(Target.Address, 2)).Value & " " & Range("$B" & Right(Target.Address, 2)).Value & " "
strSubject = Application.WorksheetFunction.Substitute(strSubject, " ", "%20")
strURL = "mailto:" & strEmail & "?subject=" & "Bestelling" & "&body=" & strSubject
ShellExecute 0&, vbNullString, strURL, vbNullString, vbNullString, vbNormalFocus
End If
End If
End If
End Sub
Groetjes
PS: De code is VBA en afkomstig uit een Excel-worksheet!
Ofwel: Wat is de code voor "automatisch verzenden" in dit geval?
Code:
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 Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim lngResponse As Long
Dim URL As String, strEmail As String, strSubject As String
If Left(Target.Address, 2) = "$D" Then
If Target.Value < Range("$E" & Right(Target.Address, 2)).Value Then
lngResponse = MsgBox("De voorraad is op. Nieuwe voorraad bestellen?", vbYesNo)
If lngResponse = vbYes Then
strEmail = Range("$H" & Right(Target.Address, 2)).Value
strSubject = "Nieuwe voorraad bestellen:%0D%0A%0D%0A" & Range("$F" & Right(Target.Address, 2)).Value & " " & Range("$B" & Right(Target.Address, 2)).Value & " "
strSubject = Application.WorksheetFunction.Substitute(strSubject, " ", "%20")
strURL = "mailto:" & strEmail & "?subject=" & "Bestelling" & "&body=" & strSubject
ShellExecute 0&, vbNullString, strURL, vbNullString, vbNullString, vbNormalFocus
End If
End If
End If
End Sub
Groetjes
PS: De code is VBA en afkomstig uit een Excel-worksheet!
Laatst bewerkt door een moderator: