PDFをHTMLに変換する方法(Excel VBAサンプル/1)

TOP > サンプル / 関数 > PDFをHTMLに変換する方法/1      [...]


はじめに

PDFのHTML変換に関しては

  1. 関数:PDFを特定のフォーマットに変換する
  2. PDFをHTMLに変換する方法(Excel VBAサンプル/3)

を参考にして下さい。

当ページのサンプルは不適切です。

しかし、この様な事も出来る、と言う意味で残して置きます。

Acrobat本体で「名前を付けて保存」ダイアログで「ファイルの種類」でHTMLを指定すると同ダイアログ右側の「設定(E)...」である程度HTML出力に対して変更できます。

以下がサンプルです。

説明

PDFをHTMLに変換します。

Acrobat OLEとExcel VBAの機能を利用します。

まず、Acrobat OLEでPDFを開きます。

次にAcrobatのファイルメニューにある「名前を付けて保存」をショートカットキーで開きます。

これはVBAのSendKeysステートメントを利用します。

それに対して、更にSendKeysステートメントを使って「名前を付けて保存」ダイアログ画面の「ファイルの種類」を「HTML」にして「保存」ボタンをクリックします。

このスクリプトが実行中はパソコンを操作しては絶対ダメです。

SendKeysステートメントが失敗します。

SendKeysステートメントはデスクトップ画面上で最上位のアクティブな画面に実行されるからです。


サンプル:ExcelのVBA

  • 参照設定を事前にする。
  • F8キーでステップ実行しながら動作確認出来ません
    SendKeysステートメントを使っている為です。
001 Sub CommandButton9_Click() 002 003 Dim objAcroApp As New Acrobat.AcroApp 004 Dim objAcroPDDoc As New Acrobat.AcroPDDoc 005 Dim objAcroAVDoc As Acrobat.AcroAVDoc 006 Dim lRet As Long 007 008 lRet = objAcroApp.Show 009 lRet = objAcroPDDoc.Open("E:¥iac_developer_guide.pdf") 010 objAcroPDDoc.OpenAVDoc "E:¥iac_developer_guide.pdf" 011 '「名前を付けて保存」ダイアログを開く 012 lRet = objAcroApp.MenuItemExecute("SaveAs") 013 '「ファイルの種類(T)」コンボボックスにフォーカスを持っていく [Alt+T] 014 SendKeys "%T", True 015 '「ファイルの種別(T)」で「HTML 4.01 - CSS 1.0 準拠(*.htm,*.html)」を選択する [HH] 016 SendKeys "H", True 017 SendKeys "H", True 018 '「保存(S)」ボタンをクリック [Alt+S] 019 SendKeys "%S", True 020 021 'Acrobatアプリケーションを終了する。 022 lRet = objAcroApp.Hide 023 lRet = objAcroApp.Exit 024 'OLEを行うとAcrobatが不安定になるので一応オブジェクトを強制開放する。 025 Set objAcroPDDoc = Nothing 026 Set objAcroAVDoc = Nothing 027 Set objAcroApp = Nothing 028 029 End Sub


 Highlight:プログラミング言語のソースコードを構文で色分け (GUI編)
 

補足

  • Acrobat Readerでは出来ません。
    Acrobat本体がデフォルトでインストールされているパソコン環境だけです。
  • 上記サンプルにも書きましたが、AcrobatはOLEを使用したり、又は環境が古い(新規インストールからの期間が1年以上になる)と不安定になる事があります。
    その場合はOSから再インストールするとある程度安定します。
  • 上記サンプルの改良版を次に掲載しています。

動作確認環境

  • WindowsXP Pro + SP2 +
    Acrobat 8.1.2 Pro + Office 2003

サンプル一覧

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


★ 文章での質問は難しいですよネ。でも、早く解決して、家に帰りたい。


SAMURAI Plugin

コメントをする時は出来れば以下もお願いします。

  • OS名 バージョン
  • Acrobat バージョン
  • ツール(Excel等) バージョン
コメントにサンプルコードを入れる時はコードを全て全角文字列にしてください。コチラで半角に戻します。それでもエラーが回避できない時はコメント下さい。個別に対処します。



お仕事で当サイトを見ている方へ
考え込んだら、ご質問下さい。
一緒に解決策を考えましょう。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください