| ■No1550 (Blue さん) に返信 >>エラーの場所が特定できました。 >> >> // 範囲を獲得 >> long lRowCnt = insData.GetLength(0); >> long lColCnt = insData.GetLength(1); >> xlRange = xlWorkSheet.get_Range("A3", Type.Missing); >> → xlRange = xlRange.get_Resize(lRowCnt, lColCnt); >> >>上記の "→" でエラーが発生していました。 > ちなみに、このときのlRowCnt,lColCntはいくつになっていましたか?
466, 5になっています。
> それと、多分この書き方だと、Excelのプロセスが残っちゃうでしょう。 > (xlWorkSheet.get_Range("A3", Type.Missing);で取得したものを上書きしちゃっているので > ReleaseComObjectできない)
タスクマネージャーを観察してますけど、プロセスは残ってないように思えます。 書き方がまずいんですね。。。
上書きしないように、 xlRangeと同じ定義をしたxlRangeValを宣言して以下のようにしてみました。
xlRange = xlWorkSheet.get_Range("A3", Type.Missing); xlRangeVal = xlRange.get_Resize(lRowCnt, lColCnt);
しかし、get_Resizeでエラーになります。 そういう問題じゃないんですかね・・・? |