現在、VBAを利用してMicrosoft ExcelのシートをPDFに保存する、という作業をしています。
その際、どうしてもフォントが埋め込まれてしまい、データサイズ肥大化の最大の要因になっています。
そこで、これを埋め込まないように自動的にPDFで保存できませんでしょうか。
試しているのは次の2つ。
■ExportAsFixedFormatメソッド
ActiveWindow.SelectedSheets.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Path & name, _
Quality:=xlQualityMinimum, _
IncludeDocProperties:=False, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
■PrintOutメソッド
ActiveWindow.SelectedSheets.PrintOut , , , , "Adobe PDF"
恐らく、Export...メソッドだとこれ以上の指定はできないと思うので、
PrintOutメソッドの方に可能性を感じています。
・質問1
Application.Printers ("Adobe PDF")
↑これで仮想プリンタのプリンタオブジェクトを指定できるので
オブジェクトのプロパティを変更できるようなものはありますでしょうか。
変更したいプロパティは、PDF設定(「最小」にする)またはフォント(「すべてのフォントを埋め込む」をオフにする)です。
・質問2
PrintOutメソッドで次の様にパス+ファイル名を指定するとファイルが壊れてしまいます。
ActiveWindow.SelectedSheets.PrintOut , , , , "Adobe PDF", True, , Path & name
ActiveWindow.SelectedSheets.PrintOut , , , , "Adobe PDF", True (ダイアログでパス・ファイル名を直接入力)
何が原因でしょうか。
・質問3
これ以外でフォントを埋め込まない方法はありますでしょうか。
以上です。宜しくお願いします。
環境:
Windows 7 pro / Acrobat X / Office 2010