#682 WebブラウザーコントロールでフォームにPDFファイルを表示する方法 フォーム、VBA

「#440 フォーム内にPDFファイルを表示するには?」では「Adobe Acrobat Control」を使ってフォームにPDFファイルの内容を表示する方法を説明していますが、最近ではこのActiveXコントロール(Adobe PDF Reader等)は使えないようですので、ここでは『Webブラウザコントロール』を使った方法を説明します。


それには、次のような手順でフォームを作成します。
  1. まず空のフォームを新規作成します。


  2. リボンの[デザイン]タブの「コントロール」から『Webブラウザーコントロール』をフォームに挿入し、サイズや位置を整えます。



    ※ここではそのコントロールの名前を「Webブラウザー0」とします。

  3. ここでは、ボタンのクリックで所定のPDFファイルを表示させるものとし、フォームにコマンドボタン「PDFファイルを表示」(名前は”cmdPDF表示”)を配置します。


  4. そのクリック時イベントプロシージャを次のようにします。

    Private Sub cmdPDF表示_Click()
    '[PDFファイルを表示]ボタンクリック時

      Me!Webブラウザー0.ControlSource = "='C:\テスト\サンプルPDFファイル.pdf'"

    End Sub

    ここでのポイントは、「ControlSource/コントロールソース」プロパティに設定する値は、「”ファイルのパス”」といった書き方ではなく、『”='ファイルのパス'"』というように、設定値そのものの先頭に「=」を付けるとともに、「ファイルのパス」全体を引用符で囲み、それら全体を1つの”式”の文字列とすることです。

実行例:




また、Webブラウザーコントロールは、テーブルやクエリのフィールドと連結することもできます。

たとえば、PDFファイルのフルパスがデータとして保存されている次のようなテーブル(”テーブル1”)があったとします。


ここで、フォームの「レコードソース」プロパティに『テーブル1』を、Webブラウザーコントロールの「コントロールソース」プロパティにPDFのフルパスが保存されたフィールド名『パス』を設定します。

それだけの設定で、上記のようなプログラムを書くこともなく、単純にレコード移動するたびにそのレコードの「パス」に登録されているPDFファイルが画面表示されます。

実行例:
  ■1レコード目


  ■2レコード目
| Index | Prev | Next |

この情報は参考になりましたか?、問題は解決しましたか?、もしまだなら......
T'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします


Copyright © T'sWare All rights reserved