ComアドインとはOffice2000 Developerエディションで開発可能なComベース
のアドインです。通常のアドインと異なり、VBAの他VB,VC,VJなどでも開発が
可能です。また、DLLとして提供されるためソースコードの完全な隠蔽が可能
であり、Developerの機能であるVBAディストリビューションウィザードを使用
してセットアップパッケージを作成することが出来るため、アプリケーション
の配布も容易になります。
エクセルVBAからOffice2000 Developerの新機能であるComアドインを開発
するには以下の手順で行います。ここではテスト用のアドインを作成します。
1.VBEのメニューから”挿入”− ”コンポーネント”を選択、”デザイナ”
タブで”Addin Class”をチェックして”OK”。
2.VBEの”ファイル”メニューから、”新しいプロジェクト”で、”アドイン
プロジェクト”を選択。(この段階でMicrosoft Addin Desinerが読み込ま
れます。
3.”全般”タブでアドインの表示名、アドインの説明、アプリケーション、
アプリケーションバージョン、既定のロード方法を選択します。
(仮に、”TESTAD”、”Comアドインのテスト””Microsoft Excel”、
”Microsoft Excel9.0”、”StartUp”として、エクセル起動時にアド
インを読み込むようにします。
4.”詳細設定”タブでサテライトDLL名、追加アドインのレジストリーキー、
アドイン特有のDataを追加します。
(ここでは空欄としておきます。)
5.”ツール”メニューからプロジェクトのプロパティーを表示し、
プロジェクト名の変更などを行います。ここでは”TestAddProject”
とします。
6.”ツール”メニューの”参照設定”から”Microsoft Excel 9.0
Object Library”を参照設定します。
7.”表示”メニューから”コード”を選択します。オブジェクト選択
ボックスから”AddinInstance”を選択すると、”OnConnection”
イベントプロシージャが作成されます。
※Initialize、OnAddInsUpdate、OnBeginShutdown、OnConnection、
OnStartupComplete、Terminateイベントがあります。
8.WithEventsキーワードを用いてエクセルアプリケーションをあらわす
Object変数を用意します。
(例)”Public WithEvents X As Excel.Application”
9.作成したObject変数Xにアプリケーションのインスタンスを格納します。
OnConnectionイベントプロシージャ内に・・・
(例)
Private Sub AddinInstance_OnConnection _
(ByVal Application As Object, _
ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, _
ByVal AddInInst As Object, _
custom() As Variant)
Set X = Application
End Sub
※上記イベントプロシージャでApplicationを格納したオブジェクト変数
Xに対して処理を記述することでエクセルを操作できます。
10.OnStartupCompleteやその他のイベント、あるいは標準モジュール、
フォームモジュールなどを追加して処理を記述します。
(例)フォームを表示させます。
Private Sub AddinInstance_OnStartupComplete (custom() As Variant)
UserForm1.Show
End Sub
11.プロジェクトをコンパイルして、名前を付けてプロジェクトを保存します。
(例)”XXX.vba”
12.”ファイル”メニューから”XXX.dllの作成”を選択します。実行可能
ファイルの作成ダイアログで”オプション”を表示させ、内容確認の上
”OK”。DLLの作成を確認してエクセルを再起動すると、StartUp時のア
ドインロードを指定したため、10のコードを記述していればユーザ
フォームが表示されます。
|