Hallo,
Ik heb eerder via dit forum een stukje code gevonden dat ik heb aangepast.
Tot vorige week werd dit Excel document (via de macro) doorgestuurd via Outlook 2010. Als Outlook niet actief was, dan opende de macro een nieuw e-mailbericht in Outlook. Alles werkte perfect.
Sinds gisteren werkt dit echter niet meer (Outlook moet openstaan, zo niet functioneert het niet). Ik heb niets gewijzigd aan de code en werk nog altijd met dezelfde versie van Outlook.
Hebben jullie eventueel een idee hoe dit komt aub?
Alvast bedankt!
-----
Ik heb eerder via dit forum een stukje code gevonden dat ik heb aangepast.
Tot vorige week werd dit Excel document (via de macro) doorgestuurd via Outlook 2010. Als Outlook niet actief was, dan opende de macro een nieuw e-mailbericht in Outlook. Alles werkte perfect.
Sinds gisteren werkt dit echter niet meer (Outlook moet openstaan, zo niet functioneert het niet). Ik heb niets gewijzigd aan de code en werk nog altijd met dezelfde versie van Outlook.
Hebben jullie eventueel een idee hoe dit komt aub?
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
With ThisWorkbook.Sheets("Data")
strbody = "<font size=""2"" face=""Calibri"" color=""Black"">" & _
"<span style=';font-size:10ptfont-family:Calibri;color:Black'>" & Sheets("Data").Range("Aj2").Value & " " & "<span style=';font-size:10ptfont-family:Calibri;color:Black'>" & " " & Sheets("Data").Range("ak2").Value & "</span>" & "<br>" & "<br>" & _
"<span style='font-size:10pt;font-family:Calibri;color:Black'>" & Sheets("Data").Range("AJ3").Value & "</span>" & " " & "<span style=';font-size:10ptfont-family:Calibri;color:Black'><b>" & " " & Sheets("Data").Range("AK3").Value & "</b></span>" & "<br>" & "<br>" & _
"<span style='font-size:10pt;font-family:Calibri;color:Black'>" & Sheets("Data").Range("AJ4").Value & "</span>" & " " & "<span style=';font-size:10ptfont-family:Calibri;color:Black'>" & " " & Sheets("Data").Range("AK4").Value & "</span>" & "<br>" & "<br>" & _
"<span style='font-size:10pt;font-family:Calibri;color:Black'><b>" & Sheets("Data").Range("Aj5").Value & "</b></span>" & _
""
End With
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
'Copy the ActiveSheet to a new workbook
ActiveSheet.Copy
Set Destwb = ActiveWorkbook
'Determine the Excel version and file extension/format
With Destwb
If Val(Application.Version) < 12 Then
'You use Excel 97-2003
FileExtStr = ".xls": FileFormatNum = -4143
Else
'You use Excel 2007-2013
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
' 'Change all cells in the worksheet to values if you want
' With Destwb.Sheets(1).UsedRange
' .Cells.Copy
' .Cells.PasteSpecial xlPasteValues
' .Cells(1).Select
' End With
' Application.CutCopyMode = False
'Save the new workbook/Mail it/Delete it
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)
With Destwb
.SaveAs TempFilePath & TempFileName & FileExtStr, FileFormat:=FileFormatNum
On Error Resume Next
With OutMail
.display
.to = ThisWorkbook.Sheets("Data").Range("W2").Value
.CC = ThisWorkbook.Sheets("Data").Range("X2").Value
.BCC = ""
.Subject = ThisWorkbook.Sheets("Data").Range("AA2").Value
.HTMLBody = strbody & "<br>" & .HTMLBody
.Attachments.Add Destwb.FullName
'You can add other files also like this
'.Attachments.Add ("C:\test.txt")
.display 'or use .Display
End With
On Error GoTo 0
.Close savechanges:=False
End With
'Delete the file you have send
Kill TempFilePath & TempFileName & FileExtStr
Set OutMail = Nothing
Set OutApp = Nothing
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End If
End Sub