Avatar billede CHC Forsker
13. marts 2019 - 13:27 Der er 5 kommentarer og
1 løsning

VBA til "gem som pdf" af ark

Hej

Er der nogen der kan komme op med en kode, så det aktuelle ark kan gemmes som pdf ved tryk på en knap?

Vh CHC
13. marts 2019 - 13:52 #1
Hvad med

[dir]ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "dit filnavn" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True[/dir]
Avatar billede TrinoJ. Seniormester
13. marts 2019 - 13:54 #2
Function RDB_Create_PDF(Source As Object, FixedFilePathName As String, _
                        OverwriteIfFileExist As Boolean, OpenPDFAfterPublish As Boolean) As String
    Dim FileFormatstr As String
    Dim Fname As Variant

        If FixedFilePathName = "" Then
            'Open the GetSaveAsFilename dialog to enter a file name for the pdf
            FileFormatstr = "PDF Files (*.pdf), *.pdf"
            Fname = Application.GetSaveAsFilename("", filefilter:=FileFormatstr, _
                                                  Title:="Create PDF")

            'If you cancel this dialog Exit the function
            If Fname = False Then Exit Function
        Else
            Fname = FixedFilePathName
        End If

        'If OverwriteIfFileExist = False we test if the PDF
        'already exist in the folder and Exit the function if that is True
        If OverwriteIfFileExist = False Then
            If Dir(Fname) <> "" Then Exit Function
        End If

        'Now the file name is correct we Publish to PDF
        On Error Resume Next
        Source.ExportAsFixedFormat _
                Type:=xlTypePDF, _
                Filename:=Fname, _
                Quality:=xlQualityStandard, _
                IncludeDocProperties:=True, _
                IgnorePrintAreas:=False, _
                OpenAfterPublish:=OpenPDFAfterPublish
        On Error GoTo 0

        'If Publish is Ok the function will return the file name
        If Dir(Fname) <> "" Then RDB_Create_PDF = Fname
End Function
Avatar billede CHC Forsker
13. marts 2019 - 13:57 #3
Hej

Fik det til at lykkedes ved at bruge nedenstående kode fra en anden VBA-kode, som jeg tidligere har fået assistance til.

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

Er dog ikke helt klar over betydningen af alle elementerne i koden. :-)

VH CHC
13. marts 2019 - 13:59 #4
Dejligt :)
Var det ikke ca. det jeg skrev?
Avatar billede CHC Forsker
13. marts 2019 - 14:21 #5
Hej Thor

Perfekt. :-)
Min skærm var ikke opdateret med dit svar, da jeg skrev mit eget svar, så derfor havde jeg ikke set det. Det er markeret som løsning, tak for hjælpen.

Vh CHC
Avatar billede CHC Forsker
13. marts 2019 - 14:23 #6
Hej TrinoJ

Tak for dit svar.

Jeg har ikke prøvet det, da jeg har brugt Thors løsning, men uden at være VBA ekspert, så ser den ud til at kunne noget andet?

Vh CHC
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