0 返信 最新の回答 日時: Oct 6, 2014 5:36 PM ユーザー:joggy

    VBAから作成するPDFにフォントを埋め込まない方法

    joggy

      現在、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