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


となかい  2012-05-17 23:46:31  No: 143296

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-18 01:02:11  No: 143297

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

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

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


となかい  2012-05-18 02:31:41  No: 143298

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

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

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加