いつもお世話になっております。
DTを元に、1つずつExcelファイルを読み取る作業をしています。
現在以下のような形で作成しており、セルを読み込みの後にも処理は続きます。
ファイル名を読み込む回数が1100回程になります。
半分ほどは正常に動くのですが、以下のエラーで止まります。
止まるのは、「範囲を読み込み」「セルを読み込み」のいずれかになります。
待機が必要かと間に5秒待機を入れましたが、エラーになります。
解決方法を教えて頂きたくよろしくお願いいたします。
HRESULT からの例外:0x800401A8

Yoichi
(Yoichi)
2
こんにちは
EXCELのプロセスを頻繁に起動・終了していることが要因のように思えます。
可能であれば、モダンExcelのExcelProcessScopeで繰り返しを含む全体を囲み、ExcelApplicationScopeの代りにUseExcelFileを使用する。
あるいは
事前に何らかのExcelをExcelApplicationScopeで開いておき、繰り返しの途中でEXCELのプロセスを終了しないようにする
等を試してみてはと思います。
1 Like
Hello @miwa_yamamoto , It may be occurs due to License issue on microsoft excel.
Try to use Workbook read range activity to avoid this issue.
Regards,
Gokul Jai
1 Like
いつもありがとうございます。
こちらでトライさせて頂きます。
処理が1時間以上掛かりますので、終了後また連絡させて頂きたく、取り急ぎお礼申し上げます。
お世話になっております。
1093回繰り返した後、こちらのエラーで止まってしまいました。

Yoichi
(Yoichi)
6
こんにちは
そのエラーで止まってしまったファイルは、手動で開くことはできますでしょうか?(ファイルのダブルクリック等で)
あるいは、ループを使わずに単独でExcelApplicationScopeやUseExcelFileで開くことはできますでしょうか?
ありがとうございます。
手動や、単独では開くことが出来ます。
ループで1000回を超えたあたりから、動きがおかしくなっています。
@miwa_yamamoto
ブック アクティビティを使用して Excel ファイルを読み取ってみる
Yoichi
(Yoichi)
9
こんにちは
となると、メモリリーク等でEXCELのプロセス自体が不安定になっているのかもしれません。
元のExcelAplpicationScopeを使った例で、その直後に以下の条件分岐を追加して、特定条件下で
20-30秒ほど待機させてみてもらえますか?(その時Excelが閉じることを確認してください)(下記の例は100回に1回20-30秒待機します。)iはForEachRowのIndexです。
いつもありがとうございます。
トライさせて頂きます。
処理が1時間以上掛かりますので明日、結果報告させて頂きたく、
取り急ぎお礼申し上げます。
おはようございます。
度々申し訳ございません。
72回目の繰り返しでエラーとなり止まってしまいました。

Yoichi
(Yoichi)
12
こんにちは
不安定ですね...
最上位のループをうまく分割して、UseExcelFileで100回開いたら、一旦ExcelProcessScopeを抜けるような実装を試してみたいところではありますが、可能そうでしょうか?