Overfør et objekt til en udskrift sub rutine
Jeg har en rutine som opsamler nogle data, som skrives til regnearket ved navn: Template.xlsx. Når data opsamlingen er afsluttet, så skal arket sendes til nogle brugere. Det går fint, hvis mail rutinen befinder sig inden for rutinen Create_datasheet. Jeg vil imidlertid gerne have afsendelsen af mails i en selvstændig subrutine: Email_From_Excel_Attachments. Det er en rutine, som jeg har fundet på nettet. Mit problem er, at jeg ikke ved, hvordan jeg får mit regneark vedhæftet i mailrutinen, uden at det først skal gemmes, og efterfølgende hentes af mailrutinen. jeg har uden held prøvet forskellige ting, Jeg håber derfor, at der er en, som kan hjælpe.Public Sub create_datasheet()
Dim From_date As String
Dim To_date As String
Dim Dato As Date
Dim Not_Working_Day As Boolean
Dim linje As Integer
Dim counter As Integer
Dim flag As Boolean
Dim xlRow As Integer
Dim clRow As Integer
Dim Load_num As String
Dim Trp_no As Variant
Dim strCheck As String
Dim antal As Integer
Dim antal_stop As Integer
Dim objexcel As Object
Dim objworkbook As Workbook
Dim objWorksheet As Worksheet
Dim Load_tmp As String
Set objexcel = New Excel.Application
objexcel.Visible = True
objexcel.DisplayAlerts = True
strExcelFileName = "H:\Template.xlsx"
Set objworkbook = objexcel.Workbooks.Open(strExcelFileName)
Set objworkbook = objexcel.ActiveWorkbook
Set objWorksheet = objworkbook.Sheets(1)
'**************************
' code der henter data fra et andet system, som skrives til regnearket: template.xlsx
'**************************
Call Email_From_Excel_Attachments(objworkbook, objexcel)
End Sub
Sub Email_From_Excel_Attachments(objworkbook As Workbook, objexcel As Object)
' filnavnet skal opbygges og selectes.
Dim emailApplication As Object
Dim emailItem As Object
Set emailApplication = CreateObject("Outlook.Application")
Set emailItem = emailApplication.CreateItem(0)
emailItem.To = "xxx@hotmail.com"
emailItem.Subject = "Subject line for the email."
emailItem.Body = "The message for the email."
emailItem.Send
Set emailItem = Nothing
Set emailApplication = Nothing
End Sub