TIFファイル保存のdpiを指定するには?


となかい  2012-05-17 14:46:31  No: 143296  IP: 192.*.*.*

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

宜しくお願い致します。

編集 削除
魔界の仮面弁士  2012-05-17 16:02:11  No: 143297  IP: 192.*.*.*

> 手動ではプリンタプロパティの出力形式にてdpiを指定できますので、
> VBA上でも指定できないかを模索してます。
Access VBA なら PrtDevMode プロパティあたりが使えそうですが、
Excel VBA には DEVMODE を直接操作するための機能が無いので、
プリンタ固有の機能を指定することはできないと思います。


もしかしたら、既定のプリンタの設定を変更しておくことで
その設定を引継げるかも知れませんが、環境が無いので未検証です。

現行バージョン(Excel 2010)だと、MODI が使えないんですよね…。
http://support.microsoft.com/kb/982760/ja

編集 削除
となかい  2012-05-17 17:31:41  No: 143298  IP: 192.*.*.*

>魔界の仮面弁士様
  ご回答ありがとうございます。

>もしかしたら、既定のプリンタの設定を変更しておくことで
>その設定を引継げるかも知れませんが、環境が無いので未検証です。

実施してみましたが、ファイルサイズが変わることはありませんでした。
やっぱり、難しいのかもしれませんね。
他にやりようがないか、検討してみます。

編集 削除