Gewusst wie: Umwandeln von Objekten, die von Office-Anwendungen zurückgegeben wurden

Aktualisiert: November 2007

Beim Schreiben von verwaltetem Code verwenden Sie normalerweise für jedes Objekt einen konkreten Typ. Von vielen Methoden und Eigenschaften in den primären Interopassemblys für Microsoft Office wird aber der Typ Object zurückgegeben, da verschiedene Rückgabetypen möglich sind. Wenn das Objekt zurückgegeben wird, müssen Sie es explizit in den richtigen Typ konvertieren (in Visual Basic) bzw. umwandeln (in C#). Durch Konvertieren oder Umwandeln des Objekts wird IntelliSense für das Objekt im Code-Editor aktiviert.

Informationen zum Konvertieren in Visual Basic finden Sie unter Implizite und explizite Konvertierungen und unter CType-Funktion. Informationen zum Umwandeln in C# finden Sie unter Operator () (C#-Referenz).

Das folgende Verfahren ist ein Beispiel für die Umwandlung eines von einer Microsoft Office-Anwendung zurückgegebenen Objekts in einen bestimmten Typ, der in verwaltetem Code verwendet wird. In diesem Beispiel wird eine Anpassung auf Dokumentebene für Microsoft Office Excel verwendet.

So wandeln Sie ein Objekt in einen bestimmten Typ um

  1. Fügen Sie der Zelle A1 ein NamedRange-Steuerelement hinzu.

    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. Wandeln Sie das Objekt, das von der ColumnWidth-Eigenschaft des benannten Bereichs zurückgegeben wurde, in ein Objekt vom Typ Double um, und weisen Sie es einer Variablen zu.

    Obwohl der ColumnWidth-Eigenschaft ein Dezimalwert zugrunde liegt, gibt die Eigenschaft den Wert als Object-Typ zurück. Sie müssen das Object-Element in ein Double-Element umwandeln, um direkt mit dem Dezimalwert zu arbeiten.

    Dim width As Double = CType(NamedRange1.ColumnWidth, Double)
    
    double width = (double)NamedRange1.ColumnWidth;
    
  3. Zeigen Sie die Spaltenbreite des NamedRange-Steuerelements in einem Dialogfeld an.

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

Siehe auch

Konzepte

Schreiben von Code in Office-Projektmappen

Verwalteter Code und Programmieren für Office mit Visual Studio

Optionale Parametern in Office-Projektmappen

Weitere Ressourcen

Steuerelemente für Office-Dokumente

Beispiele und exemplarische Vorgehensweisen für die Programmierung mit Office