簡體   English   中英

將System .__ ComObject強制轉換為已知類型的反射

[英]Casting System.__ComObject to known type reflection

我正在嘗試使用反射創建一個Excel文件。 原因是,該應用程序將在許多可能安裝或未安裝excel的計算機上運行。 我決定嵌入“ Microsoft.Office.Interop.Excel.dll”,並通過反射生成了Excel電子表格。
我試圖類似於的代碼是:

Dim app as new Excel.Application
Dim wb as Excel.Workbook = app.Workbooks.Add(1)
Dim ws as Excel.Worksheet = wb.Worksheets(1)

目前,一切正常,除非我檢索對工作表實例的引用,該實例作為“ System .__ ComObject”返回。

有沒有一種方法可以將“ System .__ ComObject”轉換為“工作表類型”?

我知道底層的“ System .__ ComObject”的類型為“ Worksheet”,因為在對象上搜索屬性后引發的異常給我錯誤,表明它實際上是“ Worksheet”類型。 例如:“類型工作表不顯示某些屬性,...”
任何幫助表示贊賞,
謝謝

您需要將__ComObject放入運行時可調用包裝器RCW中。 您可以看一下: CreateWrapperOfType

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM