エクセルユーザのOffice 2000 Developer−Comアドインの開発
 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のコードを記述していればユーザ
   フォームが表示されます。


Excel2000



戻る


Excel Word Access VBA! モーグ