• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Selectie van pagina's in pdf verwerken door macro

Status
Niet open voor verdere reacties.

Qaukle

Gebruiker
Lid geworden
16 feb 2017
Berichten
24
in het bijgevoegde bestand staat een selectie met 2 printfuncties (Print pagina's/Testjes).

nou is het volgende de bedoeling:
ik moet een macro krijgen die de geselecteerde pagina's naar één pdf omzet.
het probleem met de 'print pagina's' macro is dat deze alles pagina's appart in een pdf zet en dat is niet de bedoeling.
het probleem met de 'Testjes' macro is dat hij op een of andere manier niet de goede afdruk range pakt, en ik zie niet goed hoe ik dit moet veranderen. Deze stopt wel alle pagina's in een pdf als het goed is.

als iemand hier wat mee kan laat het maar weten, ik kom er namelijk niet uit.


Bekijk bijlage Leeg bestand.xlsm
 
Laatst bewerkt:
Met pagina's bedoel je het volgende?
Alles op Sheet Certificaat en kolommen A t/m I.
Pagina 1 = Regels 1 - 50
Pagina 2 = Regels 51 - 100
Pagina 3 = Regels 101 - 150

Enzovoort t/m Pagina 20?

Probeer dan deze maar eens:
Code:
Sub TestenpPDFprinten()
    Dim Paginas As String
    Dim i As Integer
    
    For i = 2 To 21
        If Cells(i, 18).Value Then Paginas = Paginas & "A" & (i - 1) * 50 - 49 & ":I" & (i - 1) * 50 & ","
    Next i

    If Paginas = "" Then Paginas = "A451:I500," [COLOR="#008000"]'Pagina 10[/COLOR]
    Paginas = Left(Paginas, Len(Paginas) - 1)

    Range(Paginas).ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=Environ("Userprofile") & "\Desktop\Certificaat.pdf", _
        OpenAfterPublish:=True [COLOR="#008000"]'Zet deze op False om de PDF niet te openen[/COLOR]
End Sub
 
Laatst bewerkt:
Hallo Edmoor
Het pdf afdrukken werkt nu uitstekend, het gaat inderdaad door middel van de regels.

alleen is het mogelijk om de locatie en naam te kunnen kiezen?
Bij de export worden mijn '²' tjes en zo vierkantjes met een kruis er in, hoe kan ik dit oplossen?

ik ga hier zelf ook wat mee proberen als je wat weet hoor ik het wel.
 
Je kan zelf kiezen maar daarvoor moet uiterard de code worden aangepast. Zal ik wel even naar kijken zodra ik er tijd voor heb.
Kan je een voorbeeld laten zien in een Excel document van die 2tjes die niet goed in de PDF komen?
 
Ik vroeg om het Excel document ;)
 
Zo komt het bij mij in de PDF:
PDF.JPG

Waarom dat bij jou anders is zou ik zo niet weten.
Ook als ik jouw PDF van #5 open ziet het er prima uit.
 
Zo wordt er ook gevraagd waar en met welke naam je de PDF wilt opslaan:
Code:
Sub TestenpPDFprinten()
    Dim Paginas As String
    Dim Bst As Variant
    Dim i As Integer
    
    For i = 2 To 21
        If Cells(i, 18).Value Then Paginas = Paginas & "A" & (i - 1) * 50 - 49 & ":I" & (i - 1) * 50 & ","
    Next i

    If Paginas = "" Then Paginas = "A451:I500," [COLOR="#008000"]'Pagina 10[/COLOR]
    Paginas = Left(Paginas, Len(Paginas) - 1)
    
    Bst = Application.GetSaveAsFilename( _
    FileFilter:="PDF Bestanden (*.pdf), *.pdf")
    If Bst <> False Then
        Range(Paginas).ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:=Bst, _
            OpenAfterPublish:=True [COLOR="#008000"]'Zet deze op False om de PDF niet te openen[/COLOR]
    End If
End Sub
 
bedankt deze werkt prima, maar de blokjes die i.p.v. de eentjes geplaatst worden blijven vreemd, kan dit te maken hebben met de pdf versie die ik draai of mag dat geen verschil maken.
 
ik zit helaas vast aan 1 pdf bestand, maar heb het opgelost door de 1tjes etc te vervangen door wat anders.
verder werkt de gemaakte macro perfect.

Edmoor, zeer bedankt voor je hulp dit gaat mij heel veel schelen.

ik zal het topic sluiten
 
Graag gedaan :)
 
Of ?

Code:
Sub M_snb()
    For Each it In Blad1.CheckBoxes
      If it.Value = 1 Then c00 = c00 & ",A" & 50 * (it.Caption - 1) + 1 & ":I" & 50 * it.Caption
    Next
    
    With Application.FileDialog(2)
      .FilterIndex = 25
      If .Show Then Range(Mid(c00, 2)).ExportAsFixedFormat 0, .SelectedItems(1)
    End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan