次の方法で共有


ListObjectExtensions.GetVstoObject メソッド (2007 System)

更新 : 2007 年 11 月

ネイティブな Excel Microsoft.Office.Interop.Excel.ListObject の機能を拡張する Excel Microsoft.Office.Tools.Excel.ListObject ホスト項目を返します。

名前空間 :  Microsoft.Office.Tools.Excel.Extensions
アセンブリ :  Microsoft.Office.Tools.Excel.v9.0 (Microsoft.Office.Tools.Excel.v9.0.dll 内)

構文

'宣言
<ExtensionAttribute> _
Public Shared Function GetVstoObject ( _
    listObject As ListObject _
) As ListObject
'使用
Dim listObject As ListObject
Dim returnValue As ListObject

returnValue = listObject.GetVstoObject()
public static ListObject GetVstoObject(
    this ListObject listObject
)

パラメータ

  • listObject
    型 : Microsoft.Office.Interop.Excel.ListObject

    拡張するリスト オブジェクト。このパラメータは手動で指定しないでください。このパラメータは、リスト オブジェクトでこのメソッドを呼び出したときに、ランタイムによって指定されます。

戻り値

型 : Microsoft.Office.Tools.Excel.ListObject

Visual Studio Tools for Office Excel リスト オブジェクト ホスト コントロール。

使用上の注意

Visual Basic および Visual C# では、このメソッドを、ListObject 型のオブジェクトのインスタンス メソッドとして呼び出すことができます。インスタンス メソッド構文を使用してこのメソッドを呼び出す場合は、最初のパラメータを省略します。詳細については、「拡張メソッド (Visual Basic)」または「拡張メソッド (C# プログラミング ガイド)」を参照してください。

解説

アプリケーション レベルのアドインで GetVstoObject メソッドを呼び出して、リスト オブジェクト ホスト コントロールを取得できます。

既存の Microsoft.Office.Tools.Excel.ListObject 拡張オブジェクトが存在しない場合は、ListObjectExtensions.GetVstoObject メソッドにより新しいオブジェクトが生成されます。それ以降の呼び出しでは、既存の Microsoft.Office.Tools.Excel.ListObject オブジェクトのキャッシュされたインスタンスが返されます。

ドキュメント レベルのカスタマイズの制限

このメソッドをドキュメント レベルのカスタマイズ プロジェクトで使用する場合、アプリケーション レベルのアドインで使用する場合と比べて用途が限定されます。たとえば、このメソッドを使って、ネイティブなリスト オブジェクトに対して新しい Visual Studio Tools for Office リスト オブジェクトを生成することはできません。ただし、デザイン時にカスタマイズ プロジェクトに存在したネイティブなリスト オブジェクトの既存の Visual Studio Tools for Office リスト オブジェクトを、このメソッドを使用して取得することはできます。詳細については、「ドキュメント レベルのカスタマイズにおけるネイティブな Office オブジェクトからの拡張オブジェクトの取得」を参照してください。

ネイティブなリスト オブジェクトが、Visual Studio Tools for Office リスト オブジェクトの基になるオブジェクトではない場合、このメソッドは nullnull 参照 (Visual Basic では Nothing) を返します。

次のコード例では、Sheet1 に既存のリスト オブジェクトがあるかどうかを調べます。リスト オブジェクトがある場合は、ワークシートの最初のリスト オブジェクトを Microsoft.Office.Tools.Excel.ListObject ホスト コントロールに変換し、それをデータ ソースにバインドします。このコード例には、DataSet 型の ds オブジェクトが定義され、Product という名前のテーブルと、Name という名前の列が含まれている必要があります。このコードを使用する場合は、Excel のアドイン プロジェクトの ThisAddIn クラスから実行してください。

Dim mySheet As Excel.Worksheet = Me.Application.ActiveSheet
If mySheet.ListObjects.Count > 0 Then
    Dim vstoListObject As ListObject = _
        mySheet.ListObjects(1).GetVstoObject()

    vstoListObject.SetDataBinding(ds, "Product", "Name")
End If
Excel.Worksheet mySheet = (Excel.Worksheet)
    this.Application.Worksheets["Sheet1"];
if (mySheet.ListObjects.Count > 0)
{
    ListObject vstoListObject =
        mySheet.ListObjects[1].GetVstoObject();

    vstoListObject.SetDataBinding(ds, "Product", "Name");
}

アクセス許可

  • 直前の呼び出し元に対する完全な信頼。このメンバは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

参照

ListObjectExtensions クラス

ListObjectExtensions メンバ

Microsoft.Office.Tools.Excel.Extensions 名前空間

その他の技術情報

ホスト項目とホスト コントロールの概要

拡張メソッド (C# プログラミング ガイド)

拡張メソッド (Visual Basic)