Microsoft Visual Basic for Applications Extensibility ライブラリを使用する
Microsoft® Visual Basic® for Applications (VBA) Extensibility ライブラリで提供されるオブジェクトを使用して、Visual Basic Editor およびその中に含まれる VBE プロジェクトで作業を行うことができます。Visual Basic 6.0 で作成されたアドインから、OnConnection イベント プロシージャの Application 引数を通じて、VBA Extensibility ライブラリの最上位オブジェクトである VBE オブジェクトへの参照を取得できます。この引数により、アドインが実行されている Visual Basic Editor のインスタンスへの参照が提供されます。
VBProject オブジェクトは、Visual Basic Editor で開いている VBA プロジェクトを参照します。VBProject オブジェクトには、VBComponent オブジェクトを含む VBComponents コレクションが含まれます。VBComponent オブジェクトは、標準モジュール、クラス モジュール、またはフォームなど、プロジェクト内のコンポーネントを示します。VBComponent オブジェクトはこれらのオブジェクトをすべて示すことが可能なため、Type プロパティを使用して、現在使用しているモジュールの種類を確認することができます。
たとえば、アドインが実行される Visual Basic Editor のインスタンスを表す、vbeCurrent
という名前の VBIDE.VBE 型の変数があると仮定します。次のコードでは、アクティブなプロジェクトに含まれるすべてのコンポーネント名と種類が [イミディエイト] ウィンドウに表示されます。
Dim vbcComp As VBIDE.VBComponent
For Each vbcComp In vbeCurrent.ActiveVBProject.VBComponents
Debug.Print vbcComp.Name, vbcComp.Type
Next vbcComp
VBComponent オブジェクトには、CodeModule オブジェクトを返す CodeModule プロパティが含まれます。CodeModule オブジェクトは、コンポーネントに関連するコード モジュールを参照します。CodeModule オブジェクトのメソッドおよびプロパティを使用して、モジュール内のコードを行単位で操作できます。たとえば、InsertLines メソッドを使用して行を挿入したり、Find メソッドと Replace メソッドを使用して検索と置換を実行することができます。
Visual Basic Editor のコマンド バーを使用して作業を行うには、VBE オブジェクトの CommandBars プロパティを使用して CommandBars コレクションへの参照を取得します。
VBA Extensibility ライブラリで作業する方法については、Visual Basic リファレンス ヘルプの [キーワード] タブで "VBProject オブジェクト" を選択して、関連するトピックを参照してください。