#020 AccessからExcelの関数を利用する方法 VBA

Accessでは以前より DDE を使ってExcelをコントロールしたり、OLE を使ってExcelオブジェクトをフォームに表示して使ったりすることができましたが、Access97ではさらにExcelのオブジェクトライブラリへの『参照設定』を行うことによって、VBAのコード上からExcelの持つ関数を直接的に利用することができます。次にその手順を説明します。
  1. Accessのモジュールウィンドウを開いた状態で、メニューより[ツール]-[参照設定]を選択します。
  2. [参照可能なライブラリファイル]の一覧の中から「Microsoft Excel 8.0 Object Library」や、Excelのバージョンによっては「Microsoft Excel 5.0 Object Library」をチェックします。
一例として、Accessのモジュールに次のようなコードを記述し、実行してみます。
Debug.Print Excel.Application.Round(100 / 3, 0)
Debug.Print Excel.Application.RoundDown(100 / 3, 3)
Debug.Print Excel.Application.Sum(10, 20, 30)

ここでは、そのコードを含むモジュールやフォームを開く際に、参照したオブジェクトライブラリ(実体はXL5EN32.OLBなど)を読み込むために若干時間を要しますが、あとは通常の関数と同様に使うことができます。

ただし、これを行うためにはExcelが同じパソコンにインストールされている必要があります。複数のユーザーにアプリケーションを配布するような場合には、Excelオブジェクトライブラリのライセンスの問題もあるかもしれませんのでご注意下さい。
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved