QA@IT
«回答へ戻る

回答を投稿

じゃんぬねっとさんの書き込み (2006-12-20 13:59) より:

参照に加えた Microsoft Excel Object Library のバージョンはいくつでしょうか?

Excel2003の11.0になります。

'Sheet*s*' が複数形になっているのが、気になります。

Excel.Worksheet 型と、Excel.Worksheet*s* 型は別物なのですから、比較する意味がありません。

再度申し上げますが、遅延バインディングを使用することと、

COM ラッパーオブジェクトを使用することは、全く関係ありません。

「遅延バインディング」 の意味合いを、正確に理解しましょう。

sheetsの複数形は誤記です、申し訳ありません。
再度、MSのHPを参照しましたがどうやら私が勘違いをしていたようですね
Excelバージョンが違う⇒遅延バインディングなら大丈夫と安易に考えてました;

実際にエラーが起きたのはExcel2000で、恐らくOpenメソッドの引数の数違いで
例外がスローされたのだと思います。
値の参照・設定 セルの結合等 簡単な処理しかしていないので
例外を見直して、修正するのが早いかもしれませんね。
古いバージョンのExcelオブジェクトライブラリを使うには、Excelをバージョンダウン
するしかないのでしょうか?

こういうことであれば、Excel VBA マクロもしくは、VBScript に実装して、

C# からそれを呼び出す方が、COM を意識する必要が少なくなり安全です。

*.bas を読込んでExcel上で実行させる事が可能なのですか!?
すごい事が出来るんですね;

投稿者:seg

> じゃんぬねっとさんの書き込み (2006-12-20 13:59) より:

> 
> 参照に加えた Microsoft Excel Object Library のバージョンはいくつでしょうか?

> 

Excel2003の11.0になります。


> 'Sheet**s**' が複数形になっているのが、気になります。

> Excel.Worksheet 型と、Excel.Worksheet**s** 型は別物なのですから、比較する意味がありません。

> 
> # 再度申し上げますが、遅延バインディングを使用することと、

> # COM ラッパーオブジェクトを使用することは、全く関係ありません。

> # 「遅延バインディング」 の意味合いを、正確に理解しましょう。

> 

sheetsの複数形は誤記です、申し訳ありません。
再度、MSのHPを参照しましたがどうやら私が勘違いをしていたようですね
Excelバージョンが違う⇒遅延バインディングなら大丈夫と安易に考えてました;

実際にエラーが起きたのはExcel2000で、恐らくOpenメソッドの引数の数違いで
例外がスローされたのだと思います。
値の参照・設定 セルの結合等 簡単な処理しかしていないので
例外を見直して、修正するのが早いかもしれませんね。
古いバージョンのExcelオブジェクトライブラリを使うには、Excelをバージョンダウン
するしかないのでしょうか?


> こういうことであれば、Excel VBA マクロもしくは、VBScript に実装して、

> C# からそれを呼び出す方が、COM を意識する必要が少なくなり安全です。

> 

\*.bas を読込んでExcel上で実行させる事が可能なのですか!?
すごい事が出来るんですね;


投稿者:seg