次の方法で共有


ControlCollection.AddControl メソッド (Control, Double, Double, Double, Double, String)

指定した Control を、指定したサイズおよび位置で ControlCollection に追加します。

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

構文

'宣言
Function AddControl ( _
    control As Control, _
    left As Double, _
    top As Double, _
    width As Double, _
    height As Double, _
    name As String _
) As ControlSite
ControlSite AddControl(
    Control control,
    double left,
    double top,
    double width,
    double height,
    string name
)

パラメーター

  • left
    型: System.Double
    コントロールの左端からワークシートの左端までの間隔 (ポイント単位)。
  • top
    型: System.Double
    コントロールの上端からワークシートの上端までの距離 (ポイント単位)。
  • width
    型: System.Double
    コントロールの幅 (ポイント単位)。
  • height
    型: System.Double
    コントロールの高さ (ポイント単位)。

戻り値

型: Microsoft.Office.Tools.Excel.ControlSite
ワークシートで指定したコントロールを含むコントロールを表すオブジェクト。

例外

例外 条件
ArgumentNullException

control または name 引数が nullnull 参照 (Visual Basic では Nothing) であるかまたは長さが 0 です。

ControlNameAlreadyExistsException

同じ名前のコントロールが既に ControlCollection インスタンスに存在します。

解説

このメソッドは、実行時に任意のコントロールを ControlCollection に追加するために使用できます。 詳細については、「実行時の Office ドキュメントへのコントロールの追加」を参照してください。

次のコード例は、AddControl メソッドを使用して、2 つのカスタム ユーザー コントロールをワークシートに追加します。 1 つ目のコントロールは、セル範囲に対して追加します。 2 番目のコントロールは特定の位置に追加されます。 コードは、1 つ目のカスタム ユーザー コントロールの Top プロパティを変更します。これは、ワークシート上でこのコントロールを保持する ControlSite との相対位置でコントロールを移動するだけです。 次に、2 番目のユーザー コントロールから返された ControlSiteTop プロパティを設定します。これが、コントロールの Top プロパティの正しい設定方法です。

    Private Sub ExcelRangeAddControl()

        Dim CustomUserControl As New UserControl1()
        Dim CustomUserControl2 As New UserControl2()

        Dim DynamicControl As Microsoft.Office.Tools.Excel.ListObject = Me.Controls.AddControl( _
            CustomUserControl, 0, 0, 150, 150, _
            "DynamicControl")

        Dim DynamicControl2 As Microsoft.Office.Tools.Excel. _
            ControlSite = Me.Controls.AddControl( _
            CustomUserControl2, 200, 0, 150, 150, _
            "DynamicControl2")

        CustomUserControl.BackColor = Color.Blue
        CustomUserControl2.BackColor = Color.Green

        CustomUserControl.Top = 100
        DynamicControl2.Top = 100

    End Sub

private void ExcelRangeAddControl()
{

    UserControl1 customUserControl = new UserControl1();
    UserControl2 customUserControl2 = new UserControl2();

    Microsoft.Office.Tools.Excel.ControlSite dynamicControl =
        this.Controls.AddControl(customUserControl,
        0, 0, 150, 150, "dynamicControl");

    Microsoft.Office.Tools.Excel.ControlSite dynamicControl2 =
        this.Controls.AddControl(customUserControl2, 200, 0,
        150, 150, "dynamicControl2");

    customUserControl.BackColor = Color.Blue;
    customUserControl2.BackColor = Color.Green;

    customUserControl.Top = 100;
    dynamicControl2.Top = 100;
}

.NET Framework セキュリティ

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

参照

参照

ControlCollection インターフェイス

AddControl オーバーロード

Microsoft.Office.Tools.Excel 名前空間