The Tips for Developers > ADO から EXCEL を検索する方法
|
|
UDL ファイルの作成 | |||||
ADO 経由で EXCEL にアクセスする際、接続文字列による接続か、UDL ファイルによる接続の二種類がある。ここでは、UDL
ファイルを使用した接続方法を紹介する。(UDL ファイルの作成の概要に関しては、「UDLファイルの作り方」を参照。) まず、「プロバイダ」タブを指定し、OLEプロバイダの中から、「Microsoft Jet 4.0 OLE DB Provider」を選択する。 次に「接続」タブを指定し、対象のEXCELファイルを指定する。 このとき、対象のEXCELファイルがパスワード保護されていないことを確認する。パスワード保護されている場合は、正しいパスワードを入力しても、エラーが発生してしまう。 次に、「すべて」タブを選択し、「Extended Properties」の値を「値の編集」ボタンを押下して、「Excel 8.0;」と変更する。 最後に接続のテストを行い、接続に成功することを確認する。 |
|||||
VB側アプリケーションの設計 | |||||
UDLファイルが正常に接続できれば、VBアプリケーションの作成になるわけだが、通常のADOによる設計と全く同じである。 例として、このファイルを検索するアプリケーションを作成する。(年を入力し、その年の出来事を表示する。) まず、Form のソース内の Private 変数として、ADO の Connection 変数を定義する。
Connection をオープンしたのち、Excel シートから、全レコードを検索している(10〜11行目)。この際のSQL文だが、対象テーブル名は [(シート名)$] と記述する。 (上記例では、シート名が EVENTSHEET なので、[EVENTSHEET$] となっている。) Execute メソッドの戻り値を rs という Recordset オブジェクト変数に代入し、コンボボックスに「年」情報を編集している(10〜17行目)。 次に検索ボタンを押下した際のコードは以下のようにしてある。
サンプルプログラム roma.lzh へのリンク |