.log

miscellaneous memorandum

Microsoft AccessでPDFを表示するのに大ハマリ

July 29, 2011

業務上の情報整理と効率化をかねて、Accessを使ってPDF化された過去の書類を管理するツールを作っていたのですが、PDFのコントロールで大はまりしました。内容としては、フォームが表示されるときに、貼り付けてあるAdobe PDF Readerコントロールが初期化されずにエラー終了するというものです。

環境として、Windows7上のAccess2010でツールを作って、他の端末(WindowsXP)にAccess Runtimeを入れた上でツールの実行をしようとしていたのが目くらましでした。さらに、それまでRuntime上での動作を試していなかったので、OS等含めた環境の問題なのか、Runtime上での動作に何か制限があるのか等々、疑いたくなる要因満載だったので気がつくまで2時間ほど無用な試行錯誤をさせられました。

結局原因は、実行環境にAdobe Reader Xが必要なところが、9だったというだけのことです。 開発環境ではPDFの編集用に、Acrobat 9 Standardを入れていたのですが、それを入れるまえに10を入れてしまっていたようで、貼り付けられたコントロールが10のバイナリだったんでしょう。ところが自分では9を使っていると思っていたので、実行環境にも9を入れていたわけです。

あとから冷静になって考えれば十分疑う余地のある所だったのですが、ハマル時って言うのはそういうもんですね。 しかも試行錯誤中もいわゆる泥縄的に、作ったツールを元に調査をしていて結果的にはほとんど無意味でした。 こういう環境に何か疑いがあるときは、単純に動作検証だけをするものを新たに作って試す、というのが王道ですね。そうしたらもっと早く解決してたかもしれません。

  • ハマった時ほど客観視点
  • 検証は超シンプルに
  • 複数の未検証要素を同時に投入しない
    鉄則ですね。