HOME > 即効テクニック > Excel VBA > その他関連のテクニック > エクセルユーザのOffice 2000 Developer−Comアドインの開発

即効テクニック

その他関連のテクニック

エクセルユーザのOffice 2000 Developer−Comアドインの開発

(Excel 2000)
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のコードを記述していればユーザフォームが表示されます。