tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Excelサンプルコード
投稿日: 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も参照しています。よろしくお願いします。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。