方法 : Visual Basic から COM オブジェクトを参照する
Visual Basic で、タイプ ライブラリを持つ COM オブジェクトへの参照を追加するには、COM ライブラリの相互運用機能アセンブリを作成する必要があります。COM オブジェクトのメンバーへの参照は、相互運用機能アセンブリを経由して、実際の COM オブジェクトに転送されます。COM オブジェクトからの応答は、相互運用機能アセンブリを経由して .NET Framework アプリケーションにルーティングされます。
COM オブジェクトの型情報を .NET アセンブリに埋め込むと、相互運用機能アセンブリを使用せずに COM オブジェクトを参照できます。型情報を埋め込むには、COM オブジェクトへの参照の [Embed Interop Types] プロパティを True に設定します。コマンド ライン コンパイラを使用してコンパイルする場合は、/link オプションを使用して COM ライブラリを参照します。詳細については、「/link (Visual Basic)」を参照してください。
Visual Basic では、統合開発環境 (IDE: Integrated Development Environment) でタイプ ライブラリへの参照を追加すると、相互運用機能アセンブリが自動的に作成されます。コマンド ラインから操作するときは、Tlbimp ユーティリティを使用して、手動で相互運用機能アセンブリを作成できます。
COM オブジェクトへの参照を追加するには
[プロジェクト] メニューの [参照の追加] をクリックし、[COM] タブをクリックします。
使用するコンポーネントを COM オブジェクトのリストから選択します。
相互運用機能アセンブリへのアクセスを単純化するために、COM オブジェクトを使用するクラスまたはモジュールの先頭に Imports ステートメントを追加します。たとえば、次のコード例では、Microsoft InkEdit Control 1.0 ライブラリで参照されているオブジェクトの INKEDLib 名前空間をインポートします。
Imports INKEDLib Class Sample Private s As IInkCursor End Class
Tlbimp を使用して相互運用機能アセンブリを作成するには
Tlbimp の格納ディレクトリが検索パスに指定されておらず、格納ディレクトリ以外の作業ディレクトリにいる場合は、Tlbimp の格納ディレクトリを検索パスに追加します。
コマンド プロンプトから Tlbimp を起動し、次の情報を入力します。
タイプ ライブラリを含む DLL の名前と場所
情報を格納する名前空間の名前と場所
作成する相互運用機能アセンブリの名前と場所
次に例を示します。
Tlbimp test3.dll /out:NameSpace1 /out:Interop1.dll
Tlbimp を使用すると、タイプ ライブラリおよび未登録の COM オブジェクトについても相互運用機能アセンブリを作成できます。ただし、相互運用機能アセンブリを経由して参照される COM オブジェクトは、使用先のコンピューターで正しく登録されている必要があります。COM オブジェクトを登録するには、Windows オペレーティング システムに付属の Regsvr32 ユーティリティを使用します。
参照
処理手順
チュートリアル: COM オブジェクトによる継承の実装 (Visual Basic)
相互運用性のトラブルシューティング (Visual Basic)
関連項目
Tlbexp.exe (タイプ ライブラリ エクスポーター)
Imports ステートメント (.NET 名前空間および型)