Ovládání tiskárny přes WordBasic

Ing. Jan Martínek: Používám tiskárnu HP4L a často přepínám užívání ekonomického módu. Lze tuto...
Ing. Jan Martínek: Používám tiskárnu HP4L a často přepínám užívání ekonomického módu. Lze tuto funkci místo unavujícího procházení obrazovek řídit jazykem Visual Basic v programech Word a Excel?

Computer: Dalo mi to sice chvilku koumání, ale doufám, že se mi podařilo nalézt řešení vašeho problému. Jednoduché nastavení parametrů tisku s danou tiskárnou není v těchto jazycích asi možné. Alespoň mně se nepodařilo takovouto funkci nalézt. Řešení je poněkud krkolomnější, ovšem nápověda MS Wordu je uvádí jako korektní. Nejprve se zmíním o programu MS Word. Jeho Word Basic obsahuje funkci FilePrintSetup, kterou lze nastavit tiskárnu, která se má používat pro tisk, popřípadě se jejím prostřednictvím dá vyvolat dialog nastavení tiskárny. A tudy povede v tomto případě cesta. Word Basic totiž obsahuje mimo jiné i příkaz Send Keys, který programově emuluje stisky jednotlivých kláves. Takže pokud je potřeba změnit něco například právě v nastavení tiskárny, stačí použít funkci FilePrintSetup.Options, která v této syntaxi zobrazí dialog nastavení tiskárny, a příkaz SendKeys, který tam zašle požadovanou sekvenci kláves. Například pro zaslání sekvence ALT+O, ALT+L, ENTER do dialogu nastavení tiskárny je potřeba provést toto:

SendKeys "%o%lenter"

FilePrintSetup .Options

Pro vaše použití budete muset samozřejmě příkaz SendKeys modifikovat. Kompletní popis obou popsaných funkcí a jejich parametrů by byl poněkud delší a nezáživný. Veškeré potřebné informace naleznete v nápovědě k Word Basicu v aplikaci MS Word.

U aplikace MS Excel je situace poněkud odlišná. Alespoň jsem nezjistil, že by disponovala funkcí FilePrintSetup. Na druhé straně má proměnnou pro nastavení kvality tisku PrintQuality, s jejíž pomocí se dá nastavit aktuální kvalita tisku a tím i namáhání tiskárny. Nepředpokládám ovšem, že by jste se s tím spokojil. Proto zde uvedu ještě jednu možnou metodu pro řešení vašeho problému.

Windows je obecně jedno, kolik tiskáren máte na svém počítači instalovaných. Můžete si tak klidně nainstalovat dva ovladače shodné tiskárny, lišící se pouze jménem tiskárny, a jejich rozdílným nastavením dosáhnout požadovaných parametrů tisku. Oba ovladače budou samozřejmě tisknout na jednu jedinou fyzickou tiskárnu. Poté stačí v basicovém programu přepínat tyto virtuální tiskárny podle aktuální potřeby tisku. V excelovském Basicu k tomu slouží proměnná ActivePrinter, které se jako parametr předává řetězec s přesným jménem tiskárny, na kterou má probíhat tisk. U programu MS Word provedete tuto akci prostřednictvím již zmíněné funkce FilePrintSetup.Printer, které se rovněž zadává jako parametr string s přesným jménem tiskárny. Příklad vypadá takto:

FilePrintSetup .Printer = "PostScript printer on COM2:"

Veškeré upřesňující informace o výše popsaných proměnných a funkcích jsou samozřejmě k nalezení v nápovědě k Basicům obou zmíněných programů.

Diskuze (1) Další článek: Softwarový gigant zakládá nové výzkumné centrum

Témata článku: , , , , , , , , , , , , , ,