Forfatter |
Emne Søg Emne funktioner
|
Kristian W.
Bronze bruger
Medlem: 28.Nov.2019
Land: Danmark
Status: Offline
Point: 20
|
Emne: Dynamisk PDF printer Sendt: 11.Jan.2020 kl. 00:02 |
Hej Jeg vil gerne lave et PDF print ark hvor jeg kan "afkrydse" hvilke faner i min excel der skal printes og pdf og hvad de skal hedde.
Jeg havde forstillet mig at det skulle hedder noget ligende: If Range("A2").Value > 0 Then Sheets("Ark2").Select ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ "C:\Range("B2").pdf", Quality:=xlQualityStandard, _ IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ True End If
A2 skal altså være større end 0 for at den skal printe Ark1 (dette virker ikke) B2 skal være navnet på PDF filen (dette virker ikke)
og hvordan får jeg den til at gøre det samme for C2,C3 og Ark3
Håber at i kan hjælpe :)
|
|
|
|
|
SpillOperator
Bronze bruger
Medlem: 30.Maj.2019
Status: Offline
Point: 73
|
Accepteret svar
Sendt: 25.Jan.2020 kl. 23:30 |
Hej,
Hvis jeg har forstået dig rigtigt, så er B2 cellen med filnavnet på Ark1, mens det er Ark2 der skal eksporteres. Er dette korrekt? Hvis ja, så kan det muligvis være en hjælp eksplicit at kvalificere adresserne i koden - i stedet for at bruge select.
Nedenstående kode virker i hvert fald fint hos mig.
If Sheets("Ark1").Range("A2").value > 0 Then Sheets("Ark2").ExportAsFixedFormat _ Type:=xlTypePDF, _ FileName:="C:\Users\xxx\" & Sheets("Ark1").Range("B2").value & ".pdf" End If
|
|
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5470
|
Sendt: 17.Jan.2020 kl. 20:27 |
If Range("A2").Value > 0 Then Sheets("Ark2").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\" & Range("B2").Value & ".PDF", _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=True End If |
|
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.
|
|
Kristian W.
Bronze bruger
Medlem: 28.Nov.2019
Land: Danmark
Status: Offline
Point: 20
|
Sendt: 20.Jan.2020 kl. 22:42 |
Hej EXCELGAARD
Mange tak for dit svar: Det virker næsten jeg dog en udfordring med filnavnet som ikke fungere. Jeg kan få det til at fungere hvis jeg bruger følgende:
Filename:="C:\TEST.pdf", _
Men det er jo ikke meningen, hvad gør jeg galt?
Jeg kan se at når jeg skriver "Range("B2").Value" referere den til den korrekte celle tekst men tager den ikke med.
|
|
EXCELGAARD
Platin bruger
Medlem: 27.Dec.2012
Land: Denmark
Status: Offline
Point: 5470
|
Sendt: 20.Jan.2020 kl. 23:20 |
Jeg skal have lidt flere informationer?
Min kode virker hos mig.
Hvad skal koden gøre? Hvad er det, koden gør? Hvad er det, koden ikke gør? Blot, at skrive "det fungere ikke" er ikke godt nok
|
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.
|
|
Kristian W.
Bronze bruger
Medlem: 28.Nov.2019
Land: Danmark
Status: Offline
Point: 20
|
Sendt: 25.Jan.2020 kl. 21:56 |
Kan godt forstå at du skal bruge lidt flere informationer.
Jeg forstår heller ikke hvorfor koden ikke virker hos mig, jeg har forsøgt igen i et helt nyt excel mappe med samme resultat.
Det er ved filnavnet at det går galt. Jeg vil gerne have at pdf'en bliver døbet efter hvad der står i celle (B2) Men det fungere desværre ikke.
Jeg får fælgende meddelelse: Run-time error '2147024773 (8007007b)': Dokumentet er ikke gemt.
Det er altså denne del af koden som er en udfordringen hos mig: Filename:= "C:\" & Range("B2").Value & ".pdf"
Koden fungere hvis jeg ændre denne del til Filename:= "C:\TEST.pdf"
Men så får jeg desværre ikke det resultat, et dynamisk pdf navn, som jeg ønsker.
|
|
Kristian W.
Bronze bruger
Medlem: 28.Nov.2019
Land: Danmark
Status: Offline
Point: 20
|
Sendt: 25.Jan.2020 kl. 23:09 |
Til yderlige info så har jeg fundet ud af at hvis koden ændres til nedenfor, så får jeg en fil som hedder TEST.PDF altså går den ikke ind og henter "teksten" i celle B2 korrekt.
If Range("A2").Value > 0 Then Sheets("Ark2").Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\" & Range("B2").Value & "TEST.PDF", _ Quality:=xlQualityStandard, _ IncludeDocProperties:=True, _ IgnorePrintAreas:=False, _ OpenAfterPublish:=True End If
|
|
SpillOperator
Bronze bruger
Medlem: 30.Maj.2019
Status: Offline
Point: 73
|
Accepteret svar
Sendt: 25.Jan.2020 kl. 23:30 |
Hej,
Hvis jeg har forstået dig rigtigt, så er B2 cellen med filnavnet på Ark1, mens det er Ark2 der skal eksporteres. Er dette korrekt? Hvis ja, så kan det muligvis være en hjælp eksplicit at kvalificere adresserne i koden - i stedet for at bruge select.
Nedenstående kode virker i hvert fald fint hos mig.
If Sheets("Ark1").Range("A2").value > 0 Then Sheets("Ark2").ExportAsFixedFormat _ Type:=xlTypePDF, _ FileName:="C:\Users\xxx\" & Sheets("Ark1").Range("B2").value & ".pdf" End If
|
|