• 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.

Dubbelzijdig printen middels Makro in Excel

Status
Niet open voor verdere reacties.

janaukes

Gebruiker
Lid geworden
26 mrt 2016
Berichten
49
Hallo,

Velen weten dit misschien al maar velen ook niet gezien de vele topics over dit onderwerp.

Met onderstaande code kun je dubbelzijdig printen:

Private Sub CommandButton3_Click()

myprinter = Application.ActivePrinter
x = 0
Do Until x = 9
On Error Resume Next
Application.ActivePrinter = "PRT-17 PCL6 Driver for Universal Print op Ne0" & x & ":"
If Err.Number <> 0 Then
x = x + 1
Else: Exit Do
End If
Loop
With Application
.Dialogs(xlDialogPrinterSetup).Show
.ScreenUpdating = False
Sheets("Overzicht kamers").Range("A2:L18, A19:L33, A38:L60, A61:L69").PrintOut
.Goto Blad1.[A1]
.ScreenUpdating = True
.ActivePrinter = myprinter

End With

End Sub

Zorg er wel voor dat er NERGENS in het VBA voor het te printen bereik printdefinities of paginadefinities staan. Dan gaat het namelijk NIET lukken.

In de eerste regel staat een CommandButton. Die kan een ander nummer hebben als je die hebt aangemaakt in je eigen VBA. Dus wel het juiste nummer zetten als je met copy-paste werkt.

Succes ermee.

Ik zet deze post meteen weer op opgelost

Jan.
 
Waar wordt in de code aangegeven dat het dubbelzijdig zou printen Jan?
 
Hoi Harry,

Als je de code activeert krijg je een lijst met je printers te zien.
Je kunt dus je printer de opdracht 'Duplex' of 'Dubbelzijdig' geven.

Voor ik deze code gebruikte (en er nog print-, en bladdefinities op de betreffende pagina stonden [die er die niet moeten staan]) kon ik zoveel ik maar wilde de printer op duplex zetten of zelfs Duplex als standaard geven maar het werd allemaal overruled door de printopdracht vanuit Excel en enkelvoudig afgedrukt. Dat loopt, met één woord gezegd, in de papieren.

Je kunt natuurlijk ook een 'tweede versie' van je printer in "Apparaten en printers" zetten. Standaard instellen op Duplex. En de printer een bijpassende naam geven (in samenhang met gebruik van de code).

Je ziet vier bereiken. Ik heb het blad namelijk opgesplitst in vier bereiken die ieder op een A4 passen.
Het Excel bestand wordt op een groot scherm full screen gebruikt. Daarom het gebruik van CommandButtons waarachter de verschillende printopdrachten zitten

Sheets("Overzicht kamers").Range("A2:L18, A19:L33, A38:L60, A61:L69").PrintOut
 
Hallo Jan.

Die dialog van de printersetup ken ik, maar ik zat te kijken waar in de code jij het op dubbelzijdig printen zou zetten.
Toch handmatig zoals ik al wist, vandaar mijn reactie.

Het is natuurlijk een handig instrumentje zo.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan