VBA - Excel mail spørgsmål omkring .HTMLBody
Hej alleJeg håber I kan hjælpe med et lille problem jeg har med en VBA makro der driller.
Ideen med hele makroen er sådan set at når jeg trykker på en knap i et sheet, så skal der genereres en mail baseret på forskellige ranges i et pågældende sheet.
Det der virker:
- Knappen og tilknytningen til makro
- Generering af mail med 1 range
- Min funktion RangetoHTML
Det der ikke virker:
- Generering af mail med 2 eller flere ranges
Problemet er at når jeg i .HTMLBody appender 2 eller flere ranges, så får jeg kun det første range med i mailen. Jeg har haft det til at virke før, men jeg ved ikke helt, hvorfor det ikke virker i det system jeg sidder i nu.
Derfor er input meget velkomne.
Koden:
------
Sub Mail_Sheet_Outlook_Body()
' Ranges
Dim error_range As Range
Dim employee_range As Range
Set error_range = Nothing
Set employee_range = Nothing
Dim OutApp As Object
Dim OutMail As Object
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
' Fetch the "Error Messages" - Start
Set error_range = Sheets("24-11-2009").Range("A1:K2")
' Fetch the "Error Messages" - End
' Fetch the "Employee Messages" - Start
Set employee_range = Sheets("24-11-2009").Range("M3:O5")
' Fetch the "Employee Messages" - End
Set OutApp = CreateObject("Outlook.Application")
OutApp.Session.Logon
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = Cells(56, "N").Value
.CC = ""
.BCC = ""
.subject = "Mailemne"
' HER: går det galt jeg får kun mit error_range med i mailen, men ikke employee_range. Hvis jeg vender dem om i rækkefølge, så får jeg kun employee_range med.
' NOTE: RangetoHTML genererer en temp .htm fil og returnerer indholdet af denne (virker som det skal)
.HTMLBody = RangetoHTML(error_range) + RangetoHTML(employee_range)
.Display
End With
On Error GoTo 0
With Application
.EnableEvents = True
.ScreenUpdating = False
End With
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
------
Input?
Mvh. Mallesite