モダン仕様とクラシック仕様の混在


クラシック範囲を読み込み
上記両方とも、必要なデータは取得できています。
同じブックに、全13種類分の入出金データが、13シート毎に保有しております。繰り返し処理で各シート毎に、日毎のデータを取得して、種類別の日繰り表を作成しています。
この後の処理は以下の通り。

これで単日のデータは取得できるはできるのですが、最後まで、例えば31日分(ひと月)のデータを取得できる時もあれば、途中で、以下のエラーが頻繁に発生して、プロセスが止まったりしており、安定しません。
ランタイム実行エラー
原則モダン仕様のアクティビティを軸にプログラムを作成しているのですが、モダン仕様のExcelで一旦データテーブルを作成した後で、「データテーブルをフィルター」を使って、別個のデータテーブルを抽出しようとすると、何も抽出できないので(私の能力の問題かと思いますが)、この箇所だけは、クラシック仕様のExcelを使って、Excelアプリケーションスコープから範囲を読み込み、フィルターへとプログラムを展開しています。こうするとうまく抽出はできますが、先ほどのランタイム実行エラーが、発生したり、発生しなかったり、発生する箇所も決まってはいません。うまくクリアできる方法ございましたらご教授頂けますと幸いです。

こんにちは

EXCEL関係のクラシックアクティビティはEXCELファイルを使うアクティビティ内で
使用できますので、それを使う必要があるのであれば、Excel Application Scopeと
UseExcelFileを混在させるよりは、ExcelProcessScope-Use Excel Fileの構成にしておいて、
その内部でクラシックのReadRangeを使った方が良いかもしれません。
なおEXCELのプロセスを終了させないよう、ExcelProcessScopeは大きめに囲ってもらうと
良いかと思います。

1 Like

Yoichi様
いつもいつもいつもありがとうございます。
無事円滑にプロセスを動かせる様になりました。
うまく行かなかった主な原因は、
ご指摘の通り、
「EXCEL関係のクラシックアクティビティは(モダン)EXCELファイルを使うアクティビティ内で
使用できる」知識が無かったか希薄でしたので、
モダンのExcelプロセススコープ内、もしくは、モダンのExcelファイルを使用内で、
クラシックのExcelアプリケーションスコープを設置してしまったために
安定したプロセスを実現できていなかったものと推察されます。
Excelアプリケーションスコープを取り除き、
クラシックの範囲を読み込むアクティビティを直接
モダンのExcelファイルを使うアクティビティ内に設置する事で
うまく円滑に最後まで処理をさせる事ができる様になりました。
本当に助かりました。ありがとうございます!
aigahome

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