Het opgeven van een papierlade in een Macro

09/17/2010 by admin

Als u macro's gebruiken om uw werkbladen te printen, weet je al dat de macro de werkelijke printer aan welke uitgang moet worden verzonden kunt opgeven. Wat als je wilt ook een specifieke papierlade op te geven om te worden gebruikt op die printer? Helaas, dit wordt een beetje een kleverige wicket zijn. Het probleem is dat wanneer u klikt op de knop Opties in het dialoogvenster Pagina-instelling om te stellen welke papierlade te gebruiken, wat je ziet is volledig onder de controle van uw printer driver, niet onder de controle van Excel.

Wat betekent dit voor u? Het betekent dat er geen commando's die je kunt gebruiken in een Excel macro om een ​​lade printer opgeven. Er zijn een aantal oplossingen die je kunt proberen, echter. De eerste oplossing is om verschillende printer definities simpelweg te definiëren in Windows, elk afgestemd op een specifieke lade printer gebruiken. Volg deze algemene stappen:

  1. Bepalen hoeveel papierladen die u wilt gebruiken op de printer.
  2. Definieer een nieuwe printer voor elke papierlade die u wilt gebruiken. Bijvoorbeeld, als je wilt om drie verschillende papierladen gebruiken, zou je drie printers, definiëren elk met een naam vertegenwoordiger van een papierlade.
  3. Klik met de rechtermuisknop op een printer definitie en veranderen de eigenschappen van de printer zo dat drukt op de gewenste papierlade.
  4. Herhaal stap 3 voor elk van de andere printer definities, zorg ervoor dat u verschillende papierladen opgeven voor elk een.

Op dit punt heb je meerdere printer definities opgezet, en elk zal afdrukken naar een andere papierlade op dezelfde printer. In Excel kunt u de gewenste printer op te geven, in een macro, zodat de afdruk gaat naar de gewenste printer definitie, en vandaar naar de gewenste papierlade. Het enige nadeel van deze oplossing is natuurlijk dat het duurt wat setup werk. Als u werkt in een kantoor met 50 gebruikers, dit betekend dat je moet ervoor zorgen dat alle 50 hebben elke printer gedefinieerd zoals hierboven beschreven.

Een andere oplossing is het gebruik van de SendKeys verklaring in uw macro. U kunt informatie over SendKeys in de VBA online help beschikbaar met Excel te vinden, maar wat het eigenlijk doet is het toetsenbord buffer proppen met een reeks van toetsaanslagen, net zoals ze door de gebruiker zou worden getypt. Zo zou je in theorie het opzetten van de macro om de toetsaanslagen die u zou volgen naar het dialoogvenster Pagina-instelling openen emuleren, klikt u op Opties en selecteert u een andere lade printer.

Er is een potentieel probleem met SendKeys, echter. Het kan onbetrouwbaar zijn, want er is geen manier om te verzekeren dat de toetsaanslagen daadwerkelijk gaan waar je wilt. Op een multi-threaded besturingssysteem (zoals Windows), kan een ander proces ingrijpen en ontsporen de opdrachten. Bovendien, als SendKeys werkt op uw computer, het kan niet op andermans computer, tenzij ze dezelfde versie van Excel, dezelfde printer en dezelfde versie van de printerdriver.

ExcelTips is uw bron voor kosteneffectieve Microsoft Excel training. Deze tip (2213) is van toepassing op Microsoft Excel 97, 2000, 2002 en 2003. U kunt een versie van deze tip voor de ribbon-interface van Excel (Excel 2007 en later) vindt u hier: Het specificeren van een papierlade in een Macro.