次の方法で共有


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

指定されたコントロールを、指定された範囲にある ControlCollection へ指定されたサイズで追加します。

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

構文

'宣言
Function AddControl ( _
    control As Control, _
    range As Range, _
    width As Single, _
    height As Single, _
    name As String _
) As ControlSite
ControlSite AddControl(
    Control control,
    Range range,
    float width,
    float height,
    string name
)

パラメーター

  • width
    型: System.Single
    コントロールの幅 (ポイント単位)。
  • height
    型: System.Single
    コントロールの高さ (ポイント単位)。
  • name
    型: System.String
    ControlCollection インスタンス内のコントロールにインデックスを作成するために使用できる名前。

戻り値

型: Microsoft.Office.Tools.Word.ControlSite
文書内の指定したコントロールを含むコントロールを表すオブジェクト。

例外

例外 条件
ArgumentNullException

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

ControlNameAlreadyExistsException

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

InvalidRangeException

指定された範囲が無効である場合。

解説

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

次のコード例は AddControl メソッドを使用して、2 つのカスタム ユーザー コントロールを文書に追加します。 最初のコントロールは Range に追加されます。 2 番目のコントロールは特定の位置に追加されます。 最初のカスタム ユーザー コントロールの Top プロパティを変更しますが、この方法では文書に置かれたコントロールを含む ControlSite に関連するコントロールが移動するだけです。 次に、2 番目のユーザー コントロールから返された ControlSiteTop プロパティを設定します。これが、コントロールの Top プロパティの正しい設定方法です。

Private Sub WordRangeAddControl()
    Me.Paragraphs(1).Range.InsertParagraphBefore()
    Dim CustomUserControl As New UserControl1()
    Dim CustomUserControl2 As New UserControl2()

    Dim DynamicControl As Microsoft.Office.Tools.Word.ControlSite = _
        Me.Controls.AddControl(CustomUserControl, _
        Me.Paragraphs(1).Range, 150, 150, "DynamicControl")

    Dim DynamicControl2 As Microsoft.Office.Tools.Word.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 WordRangeAddControl()
{
    this.Paragraphs[1].Range.InsertParagraphBefore();
    UserControl1 customUserControl = new UserControl1();
    UserControl2 customUserControl2 = new UserControl2();

    Microsoft.Office.Tools.Word.ControlSite dynamicControl =
        this.Controls.AddControl(customUserControl, 
        this.Paragraphs[1].Range, 150, 150, "dynamicControl");

    Microsoft.Office.Tools.Word.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.Word 名前空間