Compartir a través de


Cómo: Convertir objetos devueltos por aplicaciones de Office

Actualización: noviembre 2007

Cuando se escribe código administrado, se debe especificar de forma predeterminada un tipo de objeto. Sin embargo, muchos métodos y propiedades de los ensamblados de interoperabilidad primarios de Microsoft Office devuelven el tipo Object, porque tienen la capacidad de devolver varios tipos diferentes. Cuando se devuelve el objeto, se debe convertir explícitamente (en Visual Basic o en C#) al tipo correcto. La conversión del objeto proporciona la habilitación de IntelliSense para el objeto en el Editor de código.

Para obtener información sobre las conversiones en Visual Basic, vea Conversiones implícitas y explícitas y CType (Función). Para obtener información sobre las conversiones en C#, vea Operador () (Referencia de C#).

El procedimiento siguiente constituye un ejemplo de conversión de un objeto devuelto por una aplicación de Microsoft Office a un tipo específico para su utilización en código administrado. En este ejemplo se utiliza una personalización de nivel de documento para Microsoft Office Excel.

Para convertir un objeto a un tipo específico

  1. Agregue un control NamedRange a la celda 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. Convierta el objeto devuelto desde la propiedad ColumnWidth del rango con nombre en un objeto Double y asígnele una variable.

    Aunque el valor subyacente de la propiedad ColumnWidth es un valor decimal, la propiedad devuelve el valor como un tipo Object. Debe convertir Object en Double para trabajar directamente con el valor decimal.

    Dim width As Double = CType(NamedRange1.ColumnWidth, Double)
    
    double width = (double)NamedRange1.ColumnWidth;
    
  3. Muestre el ancho de columna del control NamedRange en un cuadro de diálogo.

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

Vea también

Conceptos

Escribir código en soluciones de Office

Código administrado y programación de soluciones de Office con Visual Studio

Descripción de los parámetros opcionales en las soluciones de Office

Otros recursos

Controles en documentos de Office

Ejemplos y tutoriales del desarrollo de Office