エラーメッセージ
前の記事「Excel:PDFの文書プロパティを表示する」から BunsyoPropaty12.xls ファイルをダウンロードした人たちへ。
以下の実行エラーが表示される場合があります。
※ 実行エラー(PutPdfPropaty)
※ エラー番号:429
※ ActiveX コンポーネントはオブジェクトを作成できません。
※ 処理は中断しました。
解説
PDFの文書プロパティを取得するサンプルExcelファイルは、WindowsXP + SP2 + Acrobat Pro v7.0.9 + Excel 2003 の環境で作りました。
この環境ではこのエラーは発生しません。
それをWindowsXP + SP2 + Acrobat Reader v8.0 + Excel 2003 の環境で実行したところ、上記のエラーメッセージが表示され、実行中断エラーになります。
PDFファイルをオープンするVBAロジックで発生しています。
SDK関連のドキュメントで以下の記載を発見しました。
「Adobe Reader によってインストールされた ActiveX コントロールや Netscape プラグインを他のアプリケーションで使用することは、ライセンスされていません。 このようなインタフェースを使用した開発はサポートされておらず、参考資料も用意されていません。」
昔のAcrobat JavaScriptのSDKの記述にはAcrobatでは使える、Acrobat Readerでは使えない記述があるSDKがありましたが、現時点でのOLE(IAC)のSDKの記述にはそれはありません。
結論
Acrobat OLE(IAC)には使える、使えないオブジェクトがあります。
それは大きく2つに分類されています。
- AcrobatとAcriobat Readerの両方で使える。
- Acrobatしか使えない。
上記のエラーメッセージは「Acrobatしか使えない。」というエラーメッセージです。
< TOPへ >
この意味は、限られたExcelの環境からでないと、Acrobatを操作できないということですか?
渡辺真さん。初めまして。
コメントありがとうございます。
解説不足です、申し訳ありません。
上記の内容ですが、Excel側にはバージョンも含めて問題はありません。
OS環境にAcrobatがインストールされているか、Acrobat Readerがインストールされているか、の問題です。
OS環境にAcrobatがインストールされていればエラーは出ません。
Acrobat Readerの場合は上記のエラーになります。
エラーはサンプル内の
objAcrobatPDDoc.Open メソッド実行時に発生します。