Avatar billede tville Juniormester
14. august 2014 - 08:08 Der er 6 kommentarer og
1 løsning

Send aktivt ark som pdf - VBA

Jeg vil gerne sende det aktive ark (ikke hele regnearket) som en pdf fil til modtagere som jeg indtaster fra gang til gang. Jeg har prøvet med nedenstående kode, men selvom jeg har skrevet at det skal gemmes som pdf, er det hele filen den gemmer. Kan man ikke nøjes med selve arket?

Sub mail()
'
' mail Makro
'
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
        "C:\Users\torb6759\AppData\Local\Temp\test send mail.pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
      Application.Dialogs(xlDialogSendMail).Show
End Sub
Avatar billede kabbak Professor
14. august 2014 - 08:29 #1
Sub mail()
'
' mail Makro
ActiveSheet.Copy
    ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\torb6759\AppData\Local\Temp\test send mail.pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
      Application.Dialogs(xlDialogSendMail).Show
      ActiveWorkbook.Close False
End Sub
Avatar billede tville Juniormester
14. august 2014 - 09:16 #2
Hej Kabbak

Det virker ikke - hele regnearket vedhæftes som xlsx fil

Tville
Avatar billede bak Forsker
14. august 2014 - 18:21 #3
Test lige denne kode. Den vil også kunne sende.

Sub SendFileAsPDF()
    Dim mailthis As Object
    Dim OutApp As Object
    Dim MyFile As String
    Dim tmpFolder As String
   
    Set OutApp = CreateObject("Outlook.Application")
    Set mailthis = OutApp.CreateItem(0)

    Application.ScreenUpdating = False
    tmpFolder = Environ("temp")

    MyFile = tmpFolder & "MinPDFFil" & ".pdf"

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                                    MyFile, _
                                    Quality:=xlQualityStandard, IncludeDocProperties:=False, _
                                    IgnorePrintAreas:=True, OpenAfterPublish:=False

    mailthis.Attachments.Add MyFile
    Application.ScreenUpdating = True
    On Error GoTo GetOut

GetOut:
    'Send the message
    mailthis.Display
    Kill MyFile
End Sub
Avatar billede bak Forsker
14. august 2014 - 18:25 #4
der manglede lige en backslash
MyFile = tmpFolder & "\MinPDFFil" & ".pdf"
Avatar billede bak Forsker
14. august 2014 - 18:29 #5
I din kode har du brugt 
Application.Dialogs(xlDialogSendMail).Show
den vil altid kun gribe det aktive regneark og ikke andre filer
Avatar billede tville Juniormester
15. august 2014 - 10:11 #6
Hej Bak

Det virker bare helt perfekt. Tak skal du have.
Hvordan giver jeg dig point?
Avatar billede bak Forsker
15. august 2014 - 16:14 #7
Jeg laver lige et svar, som du kan acceptere.
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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