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
------------- 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?
|
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!
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'? )
------------- 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.
|
|