Partager via


Comment : effectuer un cast d'objets retournés par des applications Office

Mise à jour : novembre 2007

Lorsque vous écrivez du code managé, par défaut, vous devez spécifier un type Object. Toutefois, de nombreuses méthodes et propriétés des assemblys PIA (Primary Interop Assembly) de Microsoft Office retournent le type Object, parce qu'elles sont en mesure de retourner plusieurs types différents. Lorsque l'objet est retourné, vous devez effectuer explicitement une conversion (en Visual Basic) ou un cast (en C#) de cet objet vers le type approprié. La conversion ou le cast de l'objet active la fonctionnalité IntelliSense relative à cet objet dans l'éditeur de code.

Pour plus d'informations sur la conversion en Visual Basic, consultez Conversions implicites et explicites et CType, fonction. Pour plus d'informations sur la façon d'effectuer un cast en C#, consultez (), opérateur (Référence C#).

La procédure suivante est un exemple de cast d'un objet retourné par une application Microsoft Office vers un type spécifique à des fins d'utilisation dans du code managé. Cet exemple utilise une personnalisation au niveau du document pour Microsoft Office Excel.

Pour effectuer un cast d'un objet vers un type spécifique

  1. Ajoutez un contrôle NamedRange à la cellule A1.

    Dim NamedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _
        Me.Controls.AddNamedRange(Me.Range("A1"), "NamedRange1")
    
    Microsoft.Office.Tools.Excel.NamedRange NamedRange1 = 
        this.Controls.AddNamedRange(this.Range["A1", missing], "NamedRange1");
    
  2. Effectuez un cast de l'objet retourné à partir de la propriété ColumnWidth de la plage nommée vers Double et assignez-le à une variable.

    Bien que la valeur sous-jacente de la propriété ColumnWidth soit une valeur décimale, la propriété retourne la valeur comme un type Object. Vous devez effectuer un cast de Object vers Double pour pouvoir utiliser directement la valeur décimale.

    Dim width As Double = CType(NamedRange1.ColumnWidth, Double)
    
    double width = (double)NamedRange1.ColumnWidth;
    
  3. Affichez la largeur de colonne du contrôle NamedRange dans une boîte de dialogue.

    MessageBox.Show("Column width: " & width.ToString())
    
    MessageBox.Show("Column width: " + width.ToString());
    

Voir aussi

Concepts

Écriture de code dans les solutions Office

Code managé et programmation Office avec Visual Studio

Fonctionnement des paramètres optionnels dans les solutions Office

Autres ressources

Contrôles sur des documents Office

Exemples et procédures pas à pas relatifs au développement Office