2013年3月7日木曜日

RubyでOffice2007/2010のExcel/Word/PowerPoint/VisioファイルをPDF変換する際の注意点

  1. PDF/XPSドキュメントの作成について
  2. Office2010から標準でPDF/XPS ドキュメントを作成する機能が組み込まれている。
    ※Office2007では、2007 Microsoft Office プログラム用 Microsoft PDF/XPS 保存アドインをインストール必要がある。


    基本的には、指定した形式のファイルにエクスポート(ExportAsFixedFormatメソッド)を使用すればいい。


  3. ExportAsFixedFormatメソッドのパラメータについて
  4. Document.ExportAsFixedFormat Method (Word)
    Workbook.ExportAsFixedFormat メソッド (Excel)
    Presentation.ExportAsFixedFormat Method (PowerPoint)
    Document.ExportAsFixedFormat Method (Visio)


    出力先のパスを指定するキーワード名レベルで、各Officeドキュメントで指定方法が変わるので注意が必要。微妙な相違で落ちるため、コピペ対応をしようとして少しはまった。。
    例:Word…「OutputFileName」、Excel…「Filename」、PowerPoint…「Path」、Visio…「OutputFileName」

    個人的には、必須/任意オプションをオンラインドキュメントで確認しつつ、vbaの「マクロの記録」や「オブジェクトブラウザー」でコード値を調査し、試行錯誤していくのがやりやすかった。
    Office2010だと、開発タブが無いため、Office 2010 のリボンに「開発」を表示させたいを参考にして、「マクロ」や「Visual Basic」エディタから「オブジェクトブラウザー」を使用する。


  5. rubyスクリプトでPDFに変換する方法について
  6. 以下の記事が参考になった。
    Word,Excel,PowerPointをPDFに一括変換
    WordファイルやExcelファイルを一括でPDFに変換するRubyスクリプト


    プリンタドライバへの印刷と違い、ファイル名を指定して保存とほぼ同等な処理のため、PDF変換速度が速いのにびびった。
    なお、PowerPointだと、「ExportAsFixedFormat」が落ちるため、「SaveAs」メソッドで回避する必要がある。これではまった。。

0 件のコメント:

コメントを投稿