VBA ExcelにてWorkSheetをTIFファイル化してます。
下記の記述にて実行することはできましたが、出力したファイルサイズが大きいです。
手動ではプリンタプロパティの出力形式にてdpiを指定できますので、VBA上でも指定できないかを模索してます。ご存知の方がおられまして、お知恵を拝借できたら幸いです。
FilNam = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "")
FilNam = FilNam & "\test.tif"
Application.ActivePrinter = "Microsoft Office Document Image Writer on Ne02:"
ThisWorkbook.Worksheets.PrintOut Preview:=False, printtofile:=True, collate:=10, PrToFileName:=FilNam
宜しくお願い致します。
> 手動ではプリンタプロパティの出力形式にてdpiを指定できますので、
> VBA上でも指定できないかを模索してます。
Access VBA なら PrtDevMode プロパティあたりが使えそうですが、
Excel VBA には DEVMODE を直接操作するための機能が無いので、
プリンタ固有の機能を指定することはできないと思います。
もしかしたら、既定のプリンタの設定を変更しておくことで
その設定を引継げるかも知れませんが、環境が無いので未検証です。
現行バージョン(Excel 2010)だと、MODI が使えないんですよね…。
http://support.microsoft.com/kb/982760/ja
>魔界の仮面弁士様
ご回答ありがとうございます。
>もしかしたら、既定のプリンタの設定を変更しておくことで
>その設定を引継げるかも知れませんが、環境が無いので未検証です。
実施してみましたが、ファイルサイズが変わることはありませんでした。
やっぱり、難しいのかもしれませんね。
他にやりようがないか、検討してみます。
ツイート | ![]() |