Avatar billede hubertus Seniormester
22. juli 2020 - 19:25 Der er 1 kommentar

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
Avatar billede hubertus Seniormester
22. juli 2020 - 22:30 #1
Fejl i overskrift - der skulle havde stået mail sub rutine i stedet for udskrift rutine
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester