Ga naar inhoud

printen naar pdf door macro (inclusief selectie, al in de macro)


Aanbevolen berichten

Geplaatst:

ik heb in een bestand een selectie waardoor ik met onderstaande macro de geselecteerd pagina's kan printen.

*

Sub testenpdfprinten()
'
' testenpdfprinten Macro
'

Dim ab As Worksheet


If Range("r2") = "Onwaar" Then
Else
Sheets("Certificaat").PrintOut from:=1, To:=1
End If
If Range("r3") = "Onwaar" Then
Else
Sheets("Certificaat").PrintOut from:=2, To:=2
End If
If Range("r4") = "Onwaar" Then
Else
Sheets("Certificaat").PrintOut from:=3, To:=3
End If
If Range("r5") = "Onwaar" Then
Else
Sheets("Certificaat").PrintOut from:=4, To:=4
End If
If Range("r6") = "Onwaar" Then
Else
Sheets("Certificaat").PrintOut from:=5, To:=5
End If
If Range("r7") = "Onwaar" Then
Else
Sheets("Certificaat").PrintOut from:=6, To:=6
End If
If Range("r8") = "Onwaar" Then
Else
Sheets("Certificaat").PrintOut from:=7, To:=7
End If
If Range("r9") = "Onwaar" Then
Else
Sheets("Certificaat").PrintOut from:=8, To:=8
End If
If Range("r10") = "Onwaar" Then
Else
Sheets("Certificaat").PrintOut from:=9, To:=9
End If
If Range("r11") = "Onwaar" Then
Else
Sheets("Certificaat").PrintOut from:=10, To:=10
End If





'
End Sub


*

deze werkte ook prima maar pakt altijd de laatst gebruikte printer en print het per pagina apart. Bij mij is het de bedoeling dat hij naar pdf opslaan venster gaat zodat ik hem met de juiste naam op de juist plek kan opslaan.

als ik nu eerst de 'CutePDF Writer' selecteer dan krijg ik per pagina een pdf.

weet iemand hoe ik dit moet aanpakken.
Bij voorbaat dank.

Leeg bestand met printfunctie.xlsm

Geplaatst:

...deze werkte ook prima maar pakt altijd de laatst gebruikte printer

Dat is normaal en ook logisch: de meeste mensen willen  niet steeds wisselen van printer.

Maar als je uit meerdere printers een keuze wil maken, dan kan dat.

...en print het per pagina apart.

Zo heb je de macro ook gemaakt, dat is minder logisch.

Bij mij is het de bedoeling dat hij naar pdf opslaan venster gaat zodat ik hem met de juiste naam op de juist plek kan opslaan.

Je wil naast het afdrukken er dus ook een pdf van maken. Naam en plaats van opslag zul je toch moeten kiezen vóórdat de pdf wordt gemaakt.

 

PC-Helpf qaukle.xlsm

Geplaatst:

Let op dat, als om de naam van een map wordt gevraagd, je daar heel precies in moet zijn;

bv: C:\Documents and Settings\Gebruikersnaam\Bureaublad\qaukle

Geplaatst:

dank je wel, alleen niet helemaal wat ik bedoelde met het opslaan. dit hoeft namelijk alleen bij pdf en die raakt nu in de war omdat ik nu twee schermen krijg om op te slaan. 1 keer voor printer select en een na printer select. maar ik kan hier vast wel wat mee.

Geplaatst:

Ik krijg geen enkel venster om op te slaan, de pdf-file wordt automatisch opgeslagen. Dat kan denk ik ook niet anders als je een pdf wil hebben.

Als je het printerselectievenster niet wil, dan haal je gewoon de regel Application.Dialogs(xlDialogPrinterSetup).Show  uit de macro.

Geplaatst: (aangepast)

Ik zie dat je op een andere website inmiddels verder bent gegaan met dit topic.

Voor mij niet gelaten, maar waarom je daar nog eens vraagt om  een macro die de geselecteerde pagina's naar 1 pdf omzet, terwijl je die hierboven al kant en klaar gekregen hebt, begrijp ik niet. Ook je andere vragen daar konden hier eenvoudig worden opgelost, mits je ze maar duidelijk had gesteld.

aangepast door alpha
Geplaatst: (aangepast)

mijn vraag stond al lang uit op helpmij.nl heb hem alleen her opent. ik verbreed mijn kansen.

had verder nog geen tijd gevonden om nog weer op je te reageren.

 

 

ik heb die van jou als volgt aangepast:

 

*

Sub macro3()
Dim p As Integer, q As Integer, x As Integer
Dim myname As String, mymap As String
p = 1: q = 1: x = 2
On Error Resume Next
With Sheets(1)
For x = 1 To .OLEObjects.Count
If TypeName(.OLEObjects(x).Object) = "CheckBox" Then
If .OLEObjects(x).Object.Value = True Then
.Range("a" & p & ":j" & p + 49).Copy Sheets(2).Cells(q, 1)
q = q + 50
End If
End If
p = p + 50
Next x
End With
With Sheets("Blad1").Range("a1:j" & q - 1)
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=mymap & "\" & myname & ".pdf"
Application.Dialogs(xlDialogPrinterSetup).Show
.PrintOut
.ClearContents
Sheets(1).activare
End With
End Sub

*

 

hierdoor werkt het ook prima, nou krijg ik namelijk alleen de printer select en dat is precies wat ik wou.

ik krijg namelijk van de Cutepdf writer ook nog een venster voor locatie en naam.

 

nou snap ik alleen niet hoe je dat hebt gedaan met die checkboxen, wat is daar in aangepast?

ik moet het namelijk naar 20 pagina's krijgen. als ik jouw macro in mijn officiële bestand zet werkt het niet, wat moet ik veranderen?

 

bij deze nogmaals het bestand om te zien wat er is veranderd.

 

 

Leeg bestand.xlsm

aangepast door qaukle
Geplaatst: (aangepast)

@qaukle,

Een zelfde vraag op meerdere forums plaatsen wordt op geen enkel forum op prijs gesteld.

Als blijkt dat dat het geval is (een zelfde vraag op meerdere forums gesteld), wordt op verscheidene forums het topic met je vraag meteen afgesloten. Andere forums doen dat niet (meteen), maar verwachten wel dat je meedeelt dat je je vraag ook elders hebt geplaatst. Als het bij gebruikers bekend is dat je je vraag ook elders plaatste, moet je meestal geen reactie(s) meer verwachten. Want dan lijkt het er sterk op dat je geen rekening met anderen wil houden en louter aan je eigen belang denkt. Het kan immers zijn dat mensen (veel)  tijd aan je probleem besteed hebben, terwijl dan achteraf blijkt dat die tijd voor niets geweest is omdat elders al een oplossing werd gevonden. Om die reden ga ik nu niet verder in op je vraag, hoewel een oplossing niet moeilijk is.

aangepast door alpha
Geplaatst: (aangepast)

ik ben verder nog niet echt bekend met forums dus neem het mij niet kwalijk als ik iets doe wat blijkbaar niet mag of zo, als ik bij een van bij de een oplossing geboden krijg laat ik dat natuurlijk ook weten op het andere forum met de oplossing erbij zodat zij het ook zouden kunnen bekijken. mijn plan is echt niet om mensen hun tijd te verdoen als je dat soms denkt.

 

ik vindt het zeer jammer dat je er niet mee verder wil maar dan zoek ik het wel op een andere manier uit, volgende keer graag eerst vragen aan iemand waarom hij iets doet en niet direct gaan gokken. is een beetje raar.

aangepast door qaukle
Geplaatst: (aangepast)
Op 30/3/2017 om 13:25, qaukle zei:

ik verbreed mijn kansen

Daar heb je volledig recht op.

Maar had je de link erbij kunnen plaatsen zodat we  tenminste ook kunnen volgen, maak eventueel de melding dat je daar niet verder kon geholpen worden.

Sommige vrijwilligers willen continu bijleren en speuren eens op andere forums om voor u tot een oplossing te komen maar  we kunnen ook niet op allen actief zijn.

Als we de link hadden konden we al mee volgen. Maar nu is Alpha blijkbaar zelf op zoek moeten gaan.

En als er op beide forums er niet is uitgeraakt zal het wel een speciaal geval zijn.

Maar zoals Alpha reeds melde  is cross posting op de sommige forums niet toegelaten.

 

Helaas kan ik je niet helpen  doordat ik heel weinig VBa kennis heb.

aangepast door plongske
Gast
Dit topic is nu gesloten voor nieuwe reacties.
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.