Ange en papperskassett i ett makro

March 30

Om du använder makron för att skriva ut dina kalkylblad, vet du redan att makrot kan specificera den faktiska skrivaren till vilken utgång ska skickas. Vad händer om du vill även ange ett specifikt pappersmagasin som ska användas på den skrivaren? Tyvärr blir det att vara lite av en klibbig wicket. Problemet är att när du klickar på knappen Alternativ i dialogrutan Utskriftsformat för att ange vilken pappersfack som ska användas, är det du ser helt under kontroll av skrivardrivrutinen, inte under kontroll av Excel.

Vad innebär det för dig? Det innebär att det inte finns några kommandon som du kan använda i en Excel-makro för att ange en skrivare fack. Det finns några lösningar som du kan prova, dock. Den första lösningen är att helt enkelt definiera olika skrivare definitioner i Windows, var och en skräddarsydd för att använda en viss skrivare magasin. Följ dessa allmänna steg:

  1. Bestäm hur många pappersmagasin som du vill använda på skrivaren.
  2. Definiera en ny skrivare för varje pappersfack som du vill använda. Till exempel, om du vill använda pappers tre olika fack, skulle du definiera tre skrivare, vardera med ett namn företrädare för en papperskassett.
  3. Högerklicka på en definition skrivare och ändra egenskaperna för skrivaren så att den skriver ut till önskad papperskassett.
  4. Upprepa steg 3 för varje av de andra skrivare definitioner, vilket gör att du anger olika pappersfack för var och en.

På denna punkt du har flera skrivare definitioner inrättas, och var och en kommer att skriva ut till en annan pappersfacket på samma skrivare. Inom Excel kan du ange önskad skrivare, i ett makro, så att utskriften går till önskad skrivardefinitionen, och därmed till önskad papperskassett. Den enda nackdelen med denna lösning är naturligtvis är att det tar en hel del installationsarbete. Om du arbetar på ett kontor med 50 användare, betyder det att du kommer att behöva se till att alla 50 har varje skrivare definierad enligt ovan.

En annan lösning innebär användning av Sendkeys uttalande i ditt makro. Du kan hitta information om Sendkeys i VBA online-hjälp finns med Excel, men vad det i grunden gör är att stoppa tangentbordet buffert med en serie knapptryckningar, precis som de skulle skrivas av användaren. Således kunde man teoretiskt ställa in makro för att emulera tangenttryckningar du skulle följa för att öppna dialogrutan Utskriftsformat, klicka på Alternativ och välja en annan skrivare fack.

Det finns ett potentiellt problem med Sendkeys, dock. Det kan vara opålitliga eftersom det inte finns något sätt att försäkra att de tangenttryckningar faktiskt går dit du vill. På en flertrådade operativsystem (som Windows), kan någon annan process ingripa och spåra ur kommandona. Dessutom, om Sendkeys fungerar på din dator, det fungerar inte på någon annans dator om de inte har samma version av Excel, samma skrivare, och samma drivrutinsversionen.

ExcelTips är din källa för kostnadseffektiv Microsoft Excel utbildning. Detta tips (2213) gäller för Microsoft Excel 97, 2000, 2002, och 2003. Du kan hitta en version av detta tips för menyfliksområdet i Excel (Excel 2007 och senare) här: Ange en papperskassett i ett makro.