Avatar billede Mps Praktikant
26. april 2018 - 11:56 Der er 6 kommentarer

Send pdf og indsæt excel celler i mail med makro

Hej alle

Jeg har to spørgsmål, det kan være at løsningen allerede er blevet skrevet, men jeg kan ikke få det til at virke i min makro.

Derfor beder jeg om specifikt hjælp til min makro.

De to spørgsmål er:
1) hvordan får jeg pdf-filen sendt med min email?
(jeg kan sagtens sende excel-filen, men jeg kan ikke få den til at sende pdf-filen i stedet for.)

2) Indsætte tekst fra celle R17 i sheet Input i min EmailBody.

På forhånd tak for hjælpen.
Mvh. Mette

Min macro:

Sub Makro1()
        Application.ScreenUpdating = False
       
        sidsterække = Sheets("Deltagere").Columns(1).Range("A65536").End(xlUp).Row
       
        For x = 2 To sidsterække
       
        nr = Sheets("Deltagere").Cells(x, 6)
        Dyrker = Sheets("Deltagere").Cells(x, 2)
        Email = Sheets("Deltagere").Cells(x, 1)
        Filnavn2 = "Resultat ID " & Sheets("Deltagere").Cells(x, 6) & " " & Dyrker
           
        Sheets("Resultatmall2").Cells(1, 1) = Sheets("Deltagere").Cells(x, 2)
               
        'Spørgsmål 1
        Sheets("Resultatmall2").Cells(5, 3) = Sheets("Input2").Cells(3, x + 5)
        Sheets("Resultatmall2").Cells(5, 4) = Sheets("Input2").Cells(4, x + 5)
        Sheets("Resultatmall2").Cells(5, 5) = Sheets("Input2").Cells(5, x + 5)
        Sheets("Resultatmall2").Cells(5, 6) = Sheets("Input2").Cells(6, x + 5)
        Sheets("Resultatmall2").Cells(5, 7) = Sheets("Input2").Cells(7, x + 5)
        Sheets("Resultatmall2").Cells(5, 8) = Sheets("Input2").Cells(8, x + 5)
        Sheets("Resultatmall2").Cells(5, 9) = Sheets("Input2").Cells(9, x + 5)
        Sheets("Resultatmall2").Cells(5, 10) = Sheets("Input2").Cells(10, x + 5)
        Sheets("Resultatmall2").Cells(5, 11) = Sheets("Input2").Cells(11, x + 5)
               
    Sheets("Resultatmall2").Cells(124, 11) = Sheets("Input2").Cells(81, x + 5)
       
    Filensnavn = ActiveWorkbook.Name
    Navnlængde = Len(ActiveWorkbook.Name)
    Fullnavnlængde = Len(ActiveWorkbook.FullName)
    Filplacering = Left(ActiveWorkbook.FullName, Fullnavnlængde - Navnlængde)

'Kopiere resultatfilerne
    Sheets(Array("Resultat")).Select
    'Sheets("Frågor").Activate
    Sheets(Array("Resultat")).Copy
   
    Filnavn = Filnavn2
   
   
   
    PDFnavn = Filplacering & Filnavn
 
    ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    PDFnavn, Quality:=xlQualityStandard

   
    ActiveWorkbook.SaveAs Filename:= _
    Filplacering & Filnavn, FileFormat:= _
    xlOpenXMLWorkbook, CreateBackup:=False
   
   
   
    'Send filen via mail
        Dim OutlookApp As Object
        Dim OutlookMail As Object
       
       
        Set OutlookApp = CreateObject("Outlook.Application")
        Set OutlookMail = OutlookApp.createItem(0)
        On Error Resume Next
   
   
        Set OutlookMail = OutlookApp.createItem(0)
        On Error Resume Next
        With OutlookMail
        .To = Email
        .CC = ""
        .BCC = ""
        .Subject = "Resultat af spørgerunde 1"
        .Body = "Hej " & Dyrker & "." & vbCrLf & vbCrLf & "tekst fra Celle R17" & vbCrLf & vbCrLf & " Med venlig hilsen XX"
        .Attachments.Add Application.ActiveWorkbook.FullName
        .Send
        End With
        Set OutlookMail = Nothing
        Set OutlookApp = Nothing
   

    Workbooks(Filnavn).Close savechanges:=True
   
    Workbooks(Filensnavn).Activate
    Next x
   
   
End Sub
26. april 2018 - 12:48 #1
Prøv med

.Body = "Hej " & Dyrker & "." & vbCrLf & vbCrLf & "tekst fra Celle R17" & Worksheets("Input2").Range("R17").Value & vbCrLf & vbCrLf & " Med venlig hilsen XX"

Og
  .Attachments.Add PDFnavn
Avatar billede Nikolaj Forsker
26. april 2018 - 12:55 #2
Tænker at din  .Attachments.Add Application.ActiveWorkbook.FullName skal ændres til noget i stil med denne my.attachment.add"filplaceringen" & "filnavn"

Jeg har haft held ved at følge denne video:
https://www.youtube.com/watch?v=XEBr12uxG2I
Avatar billede Mps Praktikant
30. april 2018 - 09:44 #3
Hej Thor og Nikolaj - mange tak for jeres svar.

Jeg kan dog ikke få det til at virke. Så snart jeg indsætter Worksheets("Input2").Range("R17").Value  ind i min .body, og sender mailen kommer der ingen tekst med i mailen.

Heller ikke "hej" osv..


Jeg kan heller ikke få pdf'en tilføjet til mail, da den ikke vil "godtage" at min pdf-filer hedder noget nyt for hver email der sendes.
30. april 2018 - 09:48 #4
Prøv at vise din kode
Avatar billede Mps Praktikant
01. maj 2018 - 13:38 #5
Set OutlookMail = OutlookApp.createItem(0)
        On Error Resume Next
        With OutlookMail
        .To = Email
        .CC = ""
        .BCC = ""
        .Subject = "Resultat mail"
        .Body = "Hej " & Dyrker & "." & vbCrLf & vbCrLf & Worksheets("Input").Range("R17").Value & vbCrLf & vbCrLf & " Med venlig hilsen XX"
        .Attachments.Add Application.ActiveWorkbook.FullName
        .Send
        End With
        Set OutlookMail = Nothing
        Set OutlookApp = Nothing
06. maj 2018 - 09:16 #6
Hrm..
Skal nok se hele din fil.
Kan du sende den til mig f.eks. via
https://www.it-fjernundervisning.dk/info/hjælp
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
Kategori
Stort udvalg af Excel kurser til alle niveauer og jobfunktioner

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





White paper
Sådan: Opgradér din printerløsning uden store investeringer