Gekozen printer in macro is niet blijvend

Status
Niet open voor verdere reacties.

samui

Verenigingslid
Lid geworden
26 mei 2012
Berichten
207
Besete helpers,

Ik heb een excel macro gemaakt dmv de macro opname button.
Ik kies het papier formaat en of ik in portait of landscape moet printen.
Ook kies ik dan mijn A3 printer om op landscape en A3 papier te printen.
Stop ik daarna de opname zie ik nergens in de macro staan dat mijn A3 voor deze macro gebruikt moet worden.
Sluit ik het bestand en start ik de macro krijg ik een foutmelding omdat ik geen A3 papier kan printen.
Mijn standaard printer wordt geactiveerd en dit is inderdaad een laser printer met enkel A4 als maximale mogelijkheid.
Al mijn printers werken via een netwerk.
Hoe krijg ik mijn A3 printer met naam van deze printer / lees keuze van deze printer in de macro vermeld?

alvast bedankt weer voor jullie hulp.

Frank
 

Bijlagen

Laatst bewerkt:
Hiemee kan je een printer kiezen.
Printvoorbeeld.
Code:
Dim SelecteerPrinter As Variant
    SelecteerPrinter = Application.Dialogs(xlDialogPrinterSetup).Show
    ActiveSheet.PrintPreview
Of uitprinten
Code:
Dim SelecteerPrinter As Variant
    SelecteerPrinter = Application.Dialogs(xlDialogPrinterSetup).Show
    ActiveSheet.PrintOut Copies:=1, ActivePrinter:=SelecteerPrinter, Collate:=True

Maar je kan ook met de macrorecorder de handelingen opnemen en die in je code zetten.
Zet de standaardprinter wel aan het eind van je code terug.
 
Hallo Harry,

Dank voor je snelle reactie weer. Het werkt mooi maar voor het mooie wil ik het zonder tussen stop v/e keuze venster waar ik een printer kies willen printen.
Is dit ook mogelijk? En eventueel daarna de standaardprinter terugzetten, zoals je vermeld.
Ik heb het tabblad aangepast toegevoegd met bijbehorende macro zoals deze nu werkt.
Ook staat er de gekozen printer met een screenhunterplaatje in het tabblad. De netwerk laser is mijn standaardprinter.

Frank
 
Hoi Frank,

Zoals ik al vermelde.
Neem met de macrorecorder even de handelingen op als je van printer veranderd (standaardprinter → specialeprinter als standaardprinter instellen).
Deze opgenomen code zet je weer in je andere code, en verwijderd de opgenomen code.
Onderaan je code zet je welke printer weer de standaard moet worden.
 
Ja da's waar. Het is weer gelukt, thanks Harry.
Code:
Case closed
Application.ActivePrinter = "Netwerk A3 deze op Ne04:"
    ActiveSheet.PrintOut Copies:=1, ActivePrinter:=SelecteerPrinter, Collate:=True
        With ActiveSheet
        .Range("D5").AutoFilter
        .PageSetup.PrintArea = ""
        .Range("D5").Select
    End Wit
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan