HOW TO:轉型 Office 應用程式傳回的物件
更新:2007 年 11 月
撰寫 Managed 程式碼時,您必須根據預設,指定物件的型別,但是,Microsoft Office 主要 Interop 組件中的許多方法和屬性會傳回 Object 型別,因為它們能夠傳回多種不同的型別。而在物件被傳回時,您必須明確地將物件轉換 (Visual Basic) 或轉型 (C#) 為正確的型別。轉換或轉型物件會在程式碼編輯器中對物件啟用 IntelliSense。
如需在 Visual Basic 中轉換的詳細資訊,請參閱隱含和明確轉換和 CType 函式。如需在 C# 中轉型的詳細資訊,請參閱 () 運算子 (C# 參考)。
下列程序範例將 Microsoft Office 應用程式傳回的物件轉型為 Managed 程式碼中所用的特定型別。此範例使用 Microsoft Office Excel 的文件層級自訂。
若要將物件轉型為特定型別
將 NamedRange 控制項加入至儲存格 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");
將從已命名範圍的 ColumnWidth 屬性傳回之物件轉型為 Double,並將其指派給變數。
雖然 ColumnWidth 屬性的基礎值是十進位值,但是屬性會傳回 Object 型別的值。您必須將 Object 轉型為 Double,才能直接使用十進位值。
Dim width As Double = CType(NamedRange1.ColumnWidth, Double)
double width = (double)NamedRange1.ColumnWidth;
在對話方塊中顯示 NamedRange 控制項的欄寬。
MessageBox.Show("Column width: " & width.ToString())
MessageBox.Show("Column width: " + width.ToString());
請參閱
概念
Managed 程式碼與使用 Visual Studio 進行 Office 程式設計