Hallo,
Ik heb een Excel document dat ik via vba wil versturen in Outlook. Ik vond via het forum de onderstaande code. Dit werkt perfect.
Alleen wordt de handtekening van de verzender niet automatisch opgenomen in de mail. Dit gebeurt wel als ik de 2 codes in het rood delete. Maar dan heb ik geen tekst meer in de body van de e-mail. Met .body kan ik tekst opnemen in een e-mail maar ook dan wordt de handtekening niet opgenomen. Ik denk dus dat ik .HTMLbody moet gebruiken.
Enig idee wat ik hier verkeerd doe? Waarschijnlijk is het een detail maar ik vind het niet.
Alvast bedankt!
---------
Ik heb een Excel document dat ik via vba wil versturen in Outlook. Ik vond via het forum de onderstaande code. Dit werkt perfect.
Alleen wordt de handtekening van de verzender niet automatisch opgenomen in de mail. Dit gebeurt wel als ik de 2 codes in het rood delete. Maar dan heb ik geen tekst meer in de body van de e-mail. Met .body kan ik tekst opnemen in een e-mail maar ook dan wordt de handtekening niet opgenomen. Ik denk dus dat ik .HTMLbody moet gebruiken.
Enig idee wat ik hier verkeerd doe? Waarschijnlijk is het een detail maar ik vind het niet.
Alvast bedankt!
---------
Code:
Private Sub CommandButton1_Click()
If Range("D10") = "" Or Range("m10") = "" Or Range("D12") = "" Or Range("M36") = "" Or Range("m21") = "" Or Range("c18") = "" Or Range("e31") = "" Or Range("e34") = "" Or Range("e36") = "" Or Range("e38") = "" Or Range("c43") = "" Or Range("c52") = "" Then
MsgBox "Vergeet niet om alle verplichte velden in te vullen aub. Bedankt!" & vbNewLine & "Veuillez remplir tous les champs obligatoires svp. Merci!" & vbNewLine & "Please, do not forget to fill in all the required fields. Thank you!"
Else
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
Dim FileExtStr As String
Dim FileFormatNum As Long
Dim Sourcewb As Workbook
Dim Destwb As Workbook
Dim TempFilePath As String
Dim TempFileName As String
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
Set Sourcewb = ActiveWorkbook
ActiveSheet.Copy
Set Destwb = ActiveWorkbook
With Destwb
If Val(Application.Version) < 12 Then
FileExtStr = ".xls": FileFormatNum = -4143
Else
Select Case Sourcewb.FileFormat
Case 51: FileExtStr = ".xlsx": FileFormatNum = 51
Case 52:
If .HasVBProject Then
FileExtStr = ".xlsm": FileFormatNum = 52
Else
FileExtStr = ".xlsx": FileFormatNum = 51
End If
Case 56: FileExtStr = ".xls": FileFormatNum = 56
Case Else: FileExtStr = ".xlsb": FileFormatNum = 50
End Select
End If
End With
TempFilePath = Environ$("temp") & "\"
TempFileName = Sourcewb.Name & " " & ThisWorkbook.Sheets("Data").Range("AB5").Value & " " & Format(Now, "d-mm-yyyy h-mm")
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
[COLOR="#FF0000"]With ThisWorkbook.Sheets("Hiring Request Form")
strbody = "<font size=""2"" face=""Calibri"" color=""Black"">" & _
"<span style='font-size:10pt;font-family:Calibri;color:Red'><b>" & Sheets("Hiring Request Form").Range("B10").Value & "</span></b>" & "<br>" & _
"<span style='font-size:10pt;font-family:Calibri;color:Black'><b>" & Sheets("Hiring Request Form").Range("B10").Value & "</span></b>" & "<br>" & _
"<br><br><br>"[/COLOR]
With Destwb
.SaveAs TempFilePath & TempFileName & FileExtStr, FileFormat:=FileFormatNum
On Error Resume Next
With OutMail
.to = ThisWorkbook.Sheets("Data").Range("W2").Value
.CC = ThisWorkbook.Sheets("Data").Range("X2").Value
.BCC = ""
.Subject = ThisWorkbook.Sheets("Data").Range("AA2").Value
.Attachments.Add Destwb.FullName
[COLOR="#FF0000"][/COLOR][COLOR="#FF0000"] .htmlbody = strbody & "<br>" & .htmlbody[/COLOR]
.Display
End With
On Error GoTo 0
.Close savechanges:=False
End With
Kill TempFilePath & TempFileName & FileExtStr
Set OutMail = Nothing
Set OutApp = Nothing
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End With
End If
End Sub