次の方法で共有


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

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

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

構文

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

パラメーター

  • left
    型 : System.Single
    コントロールの左端から文書の左端までの間隔 (ポイント単位)。
  • top
    型 : System.Single
    コントロールの上端から文書の上端までの間隔 (ポイント単位)。
  • width
    型 : System.Single
    コントロールの幅 (ポイント単位)。
  • height
    型 : System.Single
    コントロールの高さ (ポイント単位)。

戻り値

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

例外

例外 条件
ArgumentNullException

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

ControlNameAlreadyExistsException

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

ControlCouldNotBeInitializedException

control 引数が nullnull 参照 (Visual Basic では Nothing) です。

解説

このメソッド使用すると、任意のコントロールを 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 名前空間