2016-11-5訂正:以下のコードの記録ですが、どうも、偶々そうなっただけで普通は SaveNativePictureFormat:=Falseがデフォルトらしいことが分かりました。

なので、やっぱり、画像圧縮のマクロは今のところ作れそうにありません。

 

バイト先の話。

Wordに貼った画像(写真その他、今回試したのはJPEGとPNG)を圧縮しないで文書保存してしまうと、A4の文書一ページ分なのに何故か10MBくらいのファイルサイズになっていたりすることがあり、マクロで自動的に220ppiに揃えるとかなんとか出来ないもんかな?と思って調べたのですが、あまり芳しくない。
画像を切り取って、形式を選択して貼り付けでJPEGを選ぶ、という方法が使えそうにも思うけれども、JPEGはJPEG、PNGはPNGのまま圧縮して欲しい訳で…。マクロで貼ってある画像の形式を調べる術がそもそもよ~分からん…。

それで、Word2013の[ファイル]タブから[オプション]を選択、[詳細設定]で[イメージのサイズと画質]という項目からなんとかアプローチできないか、と試してみたところ、
[ファイル内のイメージを圧縮しない]にチェックが入っていると

ActiveDocument.SaveAs2 FileName:="native.docm", FileFormat:= _
wdFormatXMLDocumentMacroEnabled, LockComments:=False, Password:="", _
AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
:=False, SaveAsAOCELetter:=False, CompatibilityMode:=15


チェックが入っていないと

ActiveDocument.SaveAs2 FileName:="notnative.docm", FileFormat:= _
wdFormatXMLDocumentMacroEnabled, LockComments:=False, Password:="", _
AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
:=False, SaveAsAOCELetter:=False, CompatibilityMode:=15

というコードが記録されることが分かった。

てぇことは、一律圧縮したいWordファイルを一つのフォルダに入れて置いて、そのフォルダ内のWordファイルを開いてはSaveNativePictureFormat:=Falseで片っ端から保存し直すマクロを作っちゃえば、一応の解決を見るのでは無かろうか(^^)?

但し、トリミングを自動的に削ることはこれでは不可能。ただ、最近のやたらとピクセル数が大きいデジカメの写真をまんま貼ってしまうような人には便利かもしれない。

[ファイル]タブから[オプション]を選択、[詳細設定]で[イメージのサイズと画質]という項目を[全ての新規文書]について[ファイル内のイメージを圧縮しない]のチェックを外しておくことももちろん可能ですが、その場合、拡大印刷してポスター作るとか、印刷所にPDF入稿するための原稿を作るとかいう用途のときだけ、220ppiよりも解像度を上げたい…のだけれど、その時はここ外してね、と説明しておいても年に数回じゃウッカリと解像度220ppiのまま保存してしまうかもしれず、どこを想定したらいいのやら(悩)。