Beste,
Ik heb een werkboek in Excel met 3 bladen die afwijken en daarna 34 bladen die praktisch hetzelfde zijn (het gaat om checklisten).
Op Blad 3 is een inhoudsopgave die in eerste instantie zelf bepaalt welke bladen zichtbaar moeten zijn.
Iedere checklist heeft als eigenschap dat de titels worden herhaald, echter bij iedere checklist geldt, dat de laatste pagina een ondertekenpagina is. Daarvoor heb ik een nieuwe titelpagina gemaakt die ook steeds verborgen wordt. Beetje omslachtige procedure.
Nou is het gelukt om alle zichtbare werkbladen af te drukken naar pdf. Bij een afzonderlijke checklist heb ik een code die werkt, maar dan stuurt ie het direct naar de printer. Als ik daar een pdf printer aan zou hangen zou ik 100 keer apart een bestand moeten opslaan. Ik heb de codes gecombineerd, maar ik loop vast. Hier de code:
Alvast bedankt voor degene die hier een oplossing voor heeft,
Bovenstaande code geeft geen foutmeldingen. Hij is er slechts erg lang mee bezig.
Groet,
Miso
Ik heb een werkboek in Excel met 3 bladen die afwijken en daarna 34 bladen die praktisch hetzelfde zijn (het gaat om checklisten).
Op Blad 3 is een inhoudsopgave die in eerste instantie zelf bepaalt welke bladen zichtbaar moeten zijn.
Iedere checklist heeft als eigenschap dat de titels worden herhaald, echter bij iedere checklist geldt, dat de laatste pagina een ondertekenpagina is. Daarvoor heb ik een nieuwe titelpagina gemaakt die ook steeds verborgen wordt. Beetje omslachtige procedure.
Nou is het gelukt om alle zichtbare werkbladen af te drukken naar pdf. Bij een afzonderlijke checklist heb ik een code die werkt, maar dan stuurt ie het direct naar de printer. Als ik daar een pdf printer aan zou hangen zou ik 100 keer apart een bestand moeten opslaan. Ik heb de codes gecombineerd, maar ik loop vast. Hier de code:
Code:
Private Sub PrintWorkBook_Click()
Application.EnableEvents = False
Application.Run "UnhideAllChapters" 'Maakt alle bladen zichtbaar
Application.Run "UnhideSignPage" 'maakt de titel voor de laatste pagina zichtbaar op de betreffende bladen
Application.Run "HideNotApplicableChapters" 'verbergt de bladen die niet zichtbaar hadden moeten zijn
Dim myArray() As Integer, xPages As Long, xRG As Range
For Each ws In ActiveWorkbook.Worksheets
xPages = ws.PageSetup.Pages.Count
Set xRG = ws.Range("A1:H7")
On Error Resume Next
If xPages > 0 Then
With ws.PageSetup
.CenterHorizontally = True
.PrintTitleRows = xRG.AddressLocal
ws.PrintOut from:=1, To:=xPages - 1
.CenterHorizontally = True
.PrintTitleRows = ""
ws.PrintOut from:=xPages, To:=xPages
End With
End If
Next ws
NameOfFile = Left(Sheets("Client information").Range("B3"), 8) & " - Checklist annual report 2019 " & Range("FollowUpNrWB").Value
If Len(Dir("C:\Temp", vbDirectory)) = 0 Then
MkDir "C:\Temp"
End If
PathOnly = "C:\Temp\"
Path = PathOnly & NameOfFile
Dim i As Integer
Dim j As Integer
j = 0
For i = 1 To Sheets.Count
If Sheets(i).Visible = True Then
ReDim Preserve myArray(j)
myArray(j) = i
j = j + 1
End If
Next i
Sheets(myArray).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:\temp\test.pdf", Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, OpenAfterPublish:=True
Application.Run "UnhideAllChapters" 'maakt alles weer zichtbaar
Application.Run "HideSignPage" 'verbergt de titelpagina voor de laatste pagina van dat betreffende blad
Application.Run "HideNotApplicableChapters" 'verbergt weer alle paginas die niet van toepassing zijn
Application.EnableEvents = True
Sheets("Client information").Range("A1").Select
If Range("FollowUpNrWB").Value = 10 Then
Range("FollowUpNrWB").Value = 0
Else: Range("FollowUpNrWB").Value = Range("FollowUpNrWB").Value + 1
End If
End Sub
Alvast bedankt voor degene die hier een oplossing voor heeft,
Bovenstaande code geeft geen foutmeldingen. Hij is er slechts erg lang mee bezig.
Groet,
Miso
Laatst bewerkt: