Print side | Luk vindue

Macro der gemmer som PDF

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=1064
Udskrevet den: 13.Maj.2024 kl. 00:27


Emne: Macro der gemmer som PDF
Besked fra: filipen
Emne: Macro der gemmer som PDF
Posteringsdato: 30.Jan.2013 kl. 10:34
Hejsa.

Jeg har en macro der gemmer en fil for mig:

Sub GemFil()

ThisWorkbook.SaveAs "F:\Hillerød\Reparationssedler - HI\" & Range("B1").Value & "-" & Range("B2").Value & "-" & Range("B3").Value & "-" & Range("B4").Value

End Sub

Jeg kunne godt tænke mig at gemme filen som en PDF i stedet er der nogen der kan hjælpe mig med det??

Jeg kører Excel 2010 (14.0.6129.500 - 32bit)



Svar:
Besked fra: EXCELGAARD
Posteringsdato: 30.Jan.2013 kl. 11:22
Jeg har ikke lige adgang til en Excel2010 (benytter selv XL2003), men sådan lige ud af hovedet:

Sub ExcelToPDF()

' * ' Define variables
      Dim SuffixPoint As Long
      SuffixPoint = InStrRev(ActiveWorkbook.FullName, ".")
     
      Dim FileFullName As String
      If SuffixPoint = 0 Then
            FileFullName = ActiveWorkbook.FullName & ".PDF"
      Else
            FileFullName = Left(ActiveWorkbook.FullName, SuffixPoint - 1) & ".PDF"
      End If


' * ' Get file name
      FileFullName = Application.GetSaveAsFilename(InitialFileName:=FileFullName, FileFilter:="PDF Files (*.PDF), *.PDF")
      If FileFullName = "False" Then Exit Sub
 
 
' * ' Save as PDF
      ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FileFullName, Quality:=xlQualityStandard, openAfterPublish:=True
 
End Sub


Prøv det Smile


-------------
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.


Besked fra: filipen
Posteringsdato: 05.Feb.2013 kl. 08:38
Det lader til at virke, jeg mangler dog bare at skulle indsætte dataer som du hjalp mig med med denne: 
ThisWorkbook.SaveAs "F:\Hillerød\Reparationssedler - HI\" & Range("B1").Value & "-" & Range("B2").Value & "-" & Range("B3").Value & "-" & Range("B4").Value

Jeg kan ikke lige se hvor jeg skal taste det ind henne.......

Lige nu spørger den bare hvad filnavnet skal hedde og gemmer i samme mappe som filen ligger.

Kan jeg lokke dig til at skrive koden om så jeg kan få det til at passe?Embarrassed Confused


Besked fra: EXCELGAARD
Posteringsdato: 05.Feb.2013 kl. 09:09
Det burde nu være rimelig let ae se, hvis man lige ofre et par minutter på at se på koden!

I linjen, hvor du skriver:
FileFullName = Application.GetSaveAsFilename...

...fremgår det jo meget klart og tydeligt, at det er her du henter filnavnet!

Så, alt, hvad du skal gøre, er at udskifte den linje med:

FileFullName = "F:\Hillerød\Reparationssedler - HI\" & Range("B1").Value & "-" & Range("B2").Value & "-" & Range("B3").Value & "-" & Range("B4").Value

-------------
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.


Besked fra: EXCELGAARD
Posteringsdato: 05.Feb.2013 kl. 09:24
BTW:

Du kan jo dermed skære koden ned til 3 linjer:

      Dim FileFullName As String
      FileFullName = "F:\Hillerød\Reparationssedler - HI\" & Range("B1").Value & "-" & Range("B2").Value & "-" & Range("B3").Value & "-" & Range("B4").Value
      ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FileFullName, Quality:=xlQualityStandard, openAfterPublish:=True

Eller hvis du virkelig vil, så kun 1 linje:

ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:="F:\Hillerød\Reparationssedler - HI\" & Range("B1").Value & "-" & Range("B2").Value & "-" & Range("B3").Value & "-" & Range("B4").Value, Quality:=xlQualityStandard, openAfterPublish:=True


-------------
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.


Besked fra: filipen
Posteringsdato: 05.Feb.2013 kl. 11:14
Hvor er det bare fedt.

Takker mange gange for HJÆLPEN!!!!!


Besked fra: EXCELGAARD
Posteringsdato: 05.Feb.2013 kl. 11:19
Husk, at tryke på [Tak] knappen, hvis du kan bruge et svar...


-------------
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.


Besked fra: filipen
Posteringsdato: 12.Feb.2013 kl. 11:46
Kære kære kære Excelgaard! Star

Når man nu gemmer filnavnet udfra et felt der hedder 2/2-2013, kan man så konverterer det til 2013-2-2, uden at den skriver det i feltet?

Altså:
I feltet 2/2-2013
I filen  2013-02-02

???





Besked fra: EXCELGAARD
Posteringsdato: 12.Feb.2013 kl. 11:51
Yeps...
(Jeg går ud fra, at det er et dato-felt, vi henter fra, og datoen står i celle B1 - ret den evt. selv til)

Filnavn = Year(Range("B1").Value) & "-" & Month(Range("B1").Value) & "-" & Day(Range("B1").Value)

Du behøver selvfølgelig ikke tildele til en variable, men det var lettest at give eksemplet på denne måde...

(Du ender jo med at blive helt hård til det der makro-værk, hva'? Big smile)


-------------
Husk, at trykke på [Tak], hvis du kan lide et indlæg.
Husk, at trykke på [Accepteret Svar], hvis du kan bruge et løsningsforslag.



Print side | Luk vindue