TOP > サンプル / 関数 > PDFをHTMLに変換する方法/1 [...]
はじめに
PDFのHTML変換に関しては
を参考にして下さい。
当ページのサンプルは不適切です。
しかし、この様な事も出来る、と言う意味で残して置きます。
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
< サンプル一覧 >