エクセルユーザのOffice 2000 Developer−VBA開発支援Comアドイン
Office2000 Developer ではエクセル上で動作するアプリケーションとしてのCom
アドインだけでなくVisual Basic Editor用のComアドインを作成することも可能
です。

以下のサンプルではVBEを用いて頻繁に使用するコードをテキストファイルに保存
しておいて、これをVBEのメニューから現在選択されているモジュールに挿入する
アドインを作成します。

(準備)
テクニック集:”エクセルユーザのOffice 2000 Developer−Comアドインの開発”
と同様の手順でプロジェクトを追加し、アドインデザイナの”アプリケーション”
選択リストボックスで”Visual Basic For Applications IDE”を選択。ここでは
”既定のロード方法”はNoneを指定し、ユーザが手動でVBEのメニューからアドイン
をロードするように指定。参照設定から”Visual Basic For Applications 
Extensibility”と”Office 9.0 Object Library(コマンドバー用)”を設定。

※他のオフィスアプリケーションのVBEのアドインマネージャにも表示されます。

(サンプルコード)

Private X As VBIDE.VBE
Private WithEvents Ctrl As Office.CommandBarButton

Private Sub AddinInstance_OnConnection _
    (ByVal Application As Object, _
    ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, _
    ByVal AddInInst As Object, _
    custom() As Variant)

    Set X = Application'変数XにVBEのインスタンスを格納

    Call RegCBar 'コマンドバー登録プロシージャ呼び出し

End Sub

Private Sub Ctrl_Click _
    (ByVal Ctrl As Office.CommandBarButton, _
    CancelDefault As Boolean)

    ’VBEで現在選択中のモジュールにテキストファイルから読み込み
    X.SelectedVBComponent.CodeModule.AddFromFile "C:\TEST.txt"

End Sub

Private Sub RegCBar()

    Dim CPop As Office.CommandBarPopup
    Set CPop = X.CommandBars(1).Controls.Add(msoControlPopup)
    CPop.Caption = "開発支援"
    Set Ctrl = CPop.Controls.Add(msoControlButton)
    Ctrl.Caption = "雛形の挿入"

End Sub

※VBE開発支援用Comアドインの修正、再コンパイル、DLLの作成を行う時、
 既に作成したDLLを上書きするには現在ロードされているDLLをアンロード
 する必要があります。VBEのメニューから”アドイン”−
 ”アドインマネージャ”で”ロード”のチェックをはずしてからDLLを
 再度作成するようにしてください。

Excel2000



戻る


Excel Word Access VBA! モーグ