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を
再度作成するようにしてください。
|