2011-09-15 4 views
0

リフレクションを使用してExcelファイルを作成しようとしています。理由は、アプリケーションのいくつかは、Excelがインストールされていることがありますがない多くのマシン上で実行されます。私は "Microsoft.Office.Interop.Excel.dll"を埋め込み、反映を介してExcelスプレッドシートを生成することにしました。
私は似ているようにしようとしているコードは次のとおりです。キャスティングシステム.__ ComObjectから既知の型式反映へ

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

現時点では、すべて私が「システム.__ ComObject」と返すワークシートのインスタンスへの参照を取得する場合を除いて結構です。

"System .__ ComObject"を "ワークシートタイプ"にキャストする方法はありますか?

オブジェクトのプロパティを検索した後にスローされる例外として、実際には「ワークシート」型であることを示すエラーが表示されるため、基になる「System .__ ComObject」の型が「Worksheet」であることがわかります。例えば:「タイプワークシートには、特定のプロパティを提示doesnの `t ...」
を任意のヘルプ感謝、
おかげ

+3

興味深い読んでhttp://edndoc.esri.com/arcobjects/9.1/ArcGISDevHelp/DevelopmentEnvs/DotNet/SystemComObject.htm – V4Vendetta

答えて

1

あなたは、ランタイム呼び出し可能ラッパー、RCWで__ComObjectを配置する必要があります。あなたはこれを見ることができます:CreateWrapperOfType