タイトル | : Excelサンプルコード |
記事No | : 4939 |
投稿日 | : 2007/02/02(Fri) 16:01 |
投稿者 | : じゃます |
.NETからExcelの基本的な操作方法の1.MicroSoft Excelを起動(新規ファイルを開く)のサンプル を使用してExcelファイルを新規に作成し、書き込み、保存するプログラムを書いています。
サンプルコードの通りにコードを書きましたが、 Dim xlsSheets As Excel.Worksheets = xlsApp.Worksheets Dim xlsSheet As Excel.Worksheet = xlsSheets.Item(1) 以上の2カ所に警告が発生します。 内容は明示的に型変換を行えというものでしたので、 Dim xlsSheets As Excel.Worksheets = CType(xlsApp.Worksheets, Excel.Worksheets) Dim xlsSheet As Excel.Worksheet = CType(xlsSheets.Item(1), Excel.Worksheet) のように型変換を行い、実行すると上記の部分でエラーが発生します。
エラー内容は 型 'System.__ComObject' の COM オブジェクトをインターフェイス型 'Microsoft.Office.Interop.Excel.Worksheets' にキャストできません。IID '{000208B1-0000-0000-C000-000000000046}' が指定されたインターフェイスの COM コンポーネント上での QueryInterface 呼び出しのときに次のエラーが発生したため、この操作に失敗しました: インターフェイスがサポートされていません (HRESULT からの例外: 0x80004002_NOINTERFACE))。 と、なります。 変数の型とCTypeで明示的にした型が違うのだろうとあたりをつけているのですが、対策がわかりません。 対策法をお教えください。
環境はWindowsXP Pro VB.NET 2005 SP1 Excel2003 SP2 COMオブジェクトはMicrosoft Excel 11.0 Object Libraryです。 そのほか、ODP.NETとBASP21も参照しています。よろしくお願いします。
|