Avatar billede CHC Forsker
15. oktober 2017 - 16:35 Der er 14 kommentarer og
1 løsning

Gem som pdf via knap (VBA)

Hej

Er ikke så langhåret til VBA, men kan alligevel lidt...

Jeg vil gerne have en knap, som giver mulighed for at gemme som pdf, fra en hvilken som helst maskine filen bliver brugt på.

Jeg har indtil videre noget der ligner nedenstående, men problemet er, at den gemmer på C:\Users\ABC\file.pdf, hvilket jo ikke er det samme på alle maskiner.

Sub GemPDF()

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\ABC\file.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _True

End Sub

Vh CHC
Avatar billede Dan Elgaard Ekspert
15. oktober 2017 - 16:37 #1
Hvad er det du vil?

Altid gemme i aktuelle brugers 'User' mappe?
Åbne en dialog, der beder brugeren vælge gemmested?
Eller noget helt tredje?
Avatar billede CHC Forsker
15. oktober 2017 - 16:45 #2
Hej Dan

Meget gerne give mulighed for at vælge, hvor pdf'en skal gemmes.

Vh CHC
Avatar billede Dan Elgaard Ekspert
15. oktober 2017 - 16:55 #3
Dim PDFFile As String
      PDFFile = Application.GetSaveAsFilename(FileFilter:="PDF (*.PDF), *.PDF")

      ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDFFile, _
      Quality:=xlQualityStandard, IncludeDocProperties:=True, _
      IgnorePrintAreas:=False, OpenAfterPublish:=True
Avatar billede CHC Forsker
15. oktober 2017 - 17:06 #4
Jeg får en fejl:

Der opstod fejl i metoden 'GetSaveAsFilename' for objektet '_Application'
Avatar billede Dan Elgaard Ekspert
15. oktober 2017 - 17:09 #5
Hmmm....

jeg har lige prøvet og copy&paste den givne kode ind i et Excel kode module, og får ingen fejl - det virker som det skal...

...er du sikker på, at det ikke er en fejl-40?  :-)

Prøv lige, at kontrollere som du virkelig har alt præcist som vist.
Avatar billede CHC Forsker
15. oktober 2017 - 17:21 #6
I koden laver den gul marering og pil på:

    PDFFile = Application.GetSaveAsFilename(FileFilter:="PDF (*.PDF), *.PDF")
Avatar billede CHC Forsker
15. oktober 2017 - 17:22 #7
slåfejl - markering
Avatar billede Dan Elgaard Ekspert
15. oktober 2017 - 17:25 #8
Yep, men den linje er rigtig...
...altså er der noget andet galt?

Jeg benytter Excel 2013 på en dansk Windows.
Hvad benytter du?

Har du copy&paste koden ind (frem for manuelt, at rette din egen kode til)?
Er koden en del af en større kode?
Har du prøvet min kode i en lille makro for sig selv?
Avatar billede Dan Elgaard Ekspert
15. oktober 2017 - 17:28 #9
Heh, heh - du skrev om din slå fejl, mens jeg skrev mit svar :-)
Men, jeg vidste, at det måtte være en fejl-40 :-)
Avatar billede CHC Forsker
15. oktober 2017 - 17:35 #10
Hej Dan
Min slåfejl var desværre ikke i koden, kun i indlægget.

...men jeg har prøvet på en windows maskine og der virker det, men ikke på min Macbook. Ved du hvorfor?

Vh CHC
Avatar billede CHC Forsker
15. oktober 2017 - 17:36 #11
Jeg har Office 365 Business på min Macbook
Avatar billede Dan Elgaard Ekspert
15. oktober 2017 - 17:41 #12
Ja, argumentet 'FileFilter' virker desværre ikke på en Mac...
...så det skal du fjerne, og så håbe, at brugeren ikke vælger en ugyldig fil.
Avatar billede Dan Elgaard Ekspert
15. oktober 2017 - 17:44 #13
Dim PDFFile As String
PDFFile = Application.GetSaveAsFilename()

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDFFile, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
Avatar billede CHC Forsker
15. oktober 2017 - 17:49 #14
Tusind tak for hjælpen, Dan :-)
Avatar billede Dan Elgaard Ekspert
15. oktober 2017 - 17:50 #15
Velbekomme :-)
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