予期しない終了コードでジョブが停止されました: 0xC0000005 0xe0434352

返信ありがとうございます。
2013年のエクセルからの対応になるんですね。
更新できるか、確認してみます。
情報ありがとうございます。

Yoichi様

お世話になります。

エクセルを2021に変更して、(Studio23.10.3 + Excel package 2.22.3 )
で動かしたところ、範囲の取得等、エラーが解消されました。
ありがとうございます。

ただ、転記はできているんですが、最後の一行だけ条件分岐で止まってしまいます。

1161行までは転記ができるのですが、

条件は
DT_見積り.Rows(int_最終行).Item(0).ToString=“OK”

最終行の1列目にOKが記載なければ転記をするという条件にしています。

なにか原因などアドバイスあればお願いいたします。

int最終行の値はどのように取得したものでしょうか?

Yoichi様

お世話になります。
Excelアプリケーションスコープ
1範囲の選択 A3(OKの列)
2ウインドウにアタッチ
3ウインドウの最大化
4ホットキー Ctrl+down
5ホットキ- down
6選択範囲の取得(str_最終行)
7代入:int_最終行=cint(str_最終行.Replace(“A”,“”)))

で最終行取得しています。
ホットキー以外のやり方が難しく、このやり方で
転記は途中までは動いていた状況です。

エクセルの表は1始まり、DataTableの行は0始まりなので、行数が同じであれば、同じ値ではエラーとなります。
またヘッダーの有無によってもオフセットしなければならない値は変化しますので、これらを踏まえて計算する必要があります。

あるいは、もし単にDataTableの最終行に値を書き込みたいのであれば

DT_見積り.AsEnumerable().Last().Item(0)="OK"

とすれば書き込めるかと思います。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.