Partager via


ControlCollection.AddControl, méthode (Control, Range, String)

Ajoute le Control spécifié à ControlCollection à la plage spécifiée.

Espace de noms :  Microsoft.Office.Tools.Excel
Assemblys :   Microsoft.Office.Tools.Excel (dans Microsoft.Office.Tools.Excel.dll)
  Microsoft.Office.Tools.Excel.v4.0.Utilities (dans Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)

Syntaxe

'Déclaration
Function AddControl ( _
    control As Control, _
    range As Range, _
    name As String _
) As ControlSite
ControlSite AddControl(
    Control control,
    Range range,
    string name
)

Paramètres

Valeur de retour

Type : Microsoft.Office.Tools.Excel.ControlSite
Objet qui représente le contrôle contenant le contrôle spécifié sur la feuille de calcul.

Exceptions

Exception Condition
ArgumentNullException

L'argument de contrôle, de nom ou de plage a la valeur nullune référence null (Nothing en Visual Basic) ou l'argument de nom a une longueur nulle.

ControlNameAlreadyExistsException

Un contrôle du même nom se trouve déjà dans l'instance de ControlCollection.

InvalidRangeException

La plage spécifiée n'est pas valide. Les plages sur plusieurs zones ne peuvent pas être utilisées. La plage doit se trouver dans la même feuille de calcul que l'instance de ControlCollection.

Notes

Cette méthode peut être utilisée pour ajouter n'importe quel contrôle ControlCollection au moment de l'exécution. Pour plus d'informations, consultez Ajout de contrôles à des documents Office au moment de l'exécution.

Exemples

L'exemple de code suivant ajoute deux contrôles utilisateur personnalisés à la feuille de calcul à l'aide de la méthode AddControl. Le premier contrôle est ajouté à une plage de cellules. Le deuxième contrôle est ajouté à un emplacement spécifique. Le code modifie la propriété Top du premier contrôle utilisateur personnalisé, ce qui déplace uniquement le contrôle par rapport au ControlSite qui contient le contrôle sur la feuille de calcul. Le code définit ensuite la propriété Top du ControlSite retourné par le deuxième contrôle utilisateur pour illustrer la façon correcte de définir la propriété Top du contrôle.

    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;
}

Sécurité .NET Framework

Voir aussi

Référence

ControlCollection Interface

AddControl, surcharge

Microsoft.Office.Tools.Excel, espace de noms