----VisualBasic5.0 は、文法エラーを自動的にチェックし、コーダーに文法形式の入力を求めることができる強力な統合開発環境です。これらの機能により、コーディング効率が大幅に向上します。ただし、迅速な開発ツールとしてのその特性は、アドイン テクノロジでも強調されています。これを使用すると、VB 開発環境を強化およびカスタマイズできます。すべての PProject にモジュールを自動的に追加でき、各モジュール内のモジュールを別のモジュールに置き換えることができ、プログラム内の特定のコードを見つけて追加できます。理論的には、このテクノロジを使用して自動コード ジェネレーターを作成することもできます。
----アドイン テクノロジの本質は、VB プログラミング環境自体がオブジェクト モデルとしてユーザーに公開され、モジュールまたはコードの一部を操作オブジェクトとして使用して変更および最適化できることです。以下に、アドイン技術の活用例を紹介します。
----たとえば、次のコードをプログラムに含めるとします。
dimnIndexas整数
nIndex=cStr(vsFlex.Text)
次のように置き換えます。
dimsIndexasstring
sIndex=スプレッド.テキスト
----Word を含むほとんどの編集ソフトウェアには複数行の検索と置換機能がありません。VB5.0 エディターも例外ではありません。どうすればよいですか?
----1. VB を開き、プロジェクトの種類を選択するときに「アドイン」を選択します。このようにして、MyAddin という名前のプロジェクトを開きました。プロジェクト名を「Test」などの任意の名前に変更します。
----2. Addin.bas を開くと、AddToIni のサブルーチンが見つかります。
SubAddToINI()
DimErrCodeAsLong
ErrCode=WritePrivateProfileString("Add-Ins32","Myaddin.Connect","0","vbaddin.ini")
EndSub
----Windows ディレクトリには、vbaddin.ini というファイルがあります。VB が起動するたびに、このファイルの設定に基づいてどのアドイン プログラムが使用できるかが決定されます。 AddToIni の機能は、実際には現在のプログラムを vbaddin.ini に登録することです。現在のプロジェクト名に対応するように、「Myaddin.Connect」を「Test.Connect」に変更します。
----3. イミディエイト ウィンドウで AddToIni を実行して、現在のアドインの登録を完了します。
----4. Connect.cls の変数宣言領域を開きます。 ImplementsIDTExtensibility
----IDTExtensibility は、VB と AddIn プログラムの間の対話のためのインターフェイスです。 VB がアドイン メニューで AddIdManager を選択し、現在のアドイン プログラム "Test" を参照すると、OnConnect イベントがトリガーされ、IDTExtensibility_OnConnection() プログラムが実行されます。次の行にブレークポイントを設定します。
----Debug.PrintVBInst.FullName
----現在のプログラムを実行します。
----5. 別の VB ルーチンを開始して、Project1 という名前の StandardEXE を生成します。 [Addin] メニューから [AddinManager] を選択すると、リストが表示されます。[MyAddin] を選択して戻ります。この時点で、テストが開始され、 で停止します。
----Debug.PrintVBInst.FullName
----VBInstance (VBInst) は、アドインを使用する VB 統合開発環境 (VBEObject) を指すことに注意してください。オブジェクトとして操作することができます。 VBEObject には VBProject が含まれ、各 VBProject には Vbcomponent が含まれ、各 VBComponent はモジュール、各フォーム、クラス、またはモジュールに対応します。
----6. テストのイミディエイト ウィンドウで実行します。
----? VBInstance.ActiveProject.Name
----Project1の名前が取得できます。
----? VBInstance.ActiveProject.VBComponent(0).Name
----Project1の最初のモジュールForm1の名前を取得できます。
----ここまでは、基本的に AddIn の技術的な意味を説明してきました。残りは理解しやすいです。
----7. Project1 の AddinManager で、MyAddin を削除します。
----8. テストを再度変更し、frmAddin を開いて変更します。
PrivateSubOKButton_Click()
MsgBoxVBInstance.FullName
EndSub
次のように変更します。
PrivateSubOKButton_Click()
CallmReplace()
EndSub
PrivateSubmReplace()
DimoProAsVBプロジェクト
DimoComAsVBコンポーネント
DimbFindAsBoolean
DimnFindLineasinteger
DimnfindColasinteger
Screen.MousePointer=vbHourglass
OnErrorGoToerrmReplace
SetoPro=VBInstance.ActiveVBProject
'プログラムが保存されているかどうかを確認します
IfoPro.FileName=""ThenMsgBox"最初に保存してください!";ExitSub
ForEachoComInoPro.VBComponents
bFind=True
DowhilebFind
'置換するコードセグメントを検索します
bFind=oCom.CodeModule.Find("dimnIndexasinteger",nFindLine,nfindCol,oCom.CodeModule.CountOfLines,500,True
IfbFindThen
IfoCom.CodeModule.Lines(nFindLine 1,1)="nIndex=cStr(vsFlex.Text)"
' 見つかったら置き換える
oCom.CodeModule.ReplaceLine
nFindLine,"dimsIndexasstring"
oCom.CodeModule.ReplaceLine
nFindLine 1,"sIndex=Spread.text"
それ以外
bFind=false
EndIf
EndIf
ループ
ネクストコム
Screen.MousePointer=vbDefault
ExitSub
errm置換:
ビープ
Screen.MousePointer=vbDefault
MsgBox「エラー!」
EndSub
----9. Test を実行状態にしましょう。
----10. 手順 5 を繰り返すと、Project1 のアドイン メニューに追加の項目「MyAddin」が表示されます。 Project1に置き換えるコードを追加し、MyAddinを実行すると置き換え作業が完了します。
----11. 一部の友人は、アドイン メニューに「MyAddin」という単語を表示するのではなく、「置換」などのより明確な意味を持つロゴを表示することを望んでいます。テストの ConnectClass----IDTExtensibility_OnConnection() を次のように変更します。
SetmcbMenuCommandBar=AddToAddInCommandBar("MyAddIn")
SetmcbMenuCommandBar=AddToAddInCommandBar("replace") に変更します。
AddinManager の MyAddin を次のように変更したい場合
「置換」では、メモ帳で Connect.cls を開いて次のように変更できます: AttributeVB_Description="MyAdd-In"
次のように変更します: AttributeVB_Description="置換"
----上記の紹介は、AddIn テクノロジーの簡単な応用にすぎません。そのメカニズムを理解した後、ニーズに応じて独自のツールを作成できます。プロのアプリケーション ソフトウェア開発者の中には、アドイン ツールを蓄積すればするほど、コーディング効率が向上する人もいます。 ->