Excelの最終行の取得はできるけど(しくじり・解決済)
社内で使っているExcelの管理簿を更新する作業をWinActorで自動化した時のことです。
1行目がタイトルで、2行目以降がデータ、という形式の管理簿です。
データを入力する前に、数式や書式の設定されれている行を増やしておく、という工程があり、当初は「Excel操作(行複製)」で対応しました。
ところが実際にシナリオを実行してみると、この「行複製」の部分で頻繁に以下のエラーが出ます。
スクリプトの実行に失敗しました。
エラー番号:0x000003ec
内容:オブジェクトがシートからはみ出します。その操作はできません。
調べたところExcel側のエラーのようでしたので、Excel側の対処策は全て実行しました。
しかし、エラーは無くなりませんでした。
また「Excel操作(行複製)」を→「Excel操作(行挿入)」に入れ替えても解決しませんでした。
社内に居るWinActorの先輩に相談したところ、
このファイルを操作する工程の一番最初に「Excel開く(全面化)」を入れてみたらどうか?
と提案されたので、入れてみたところ、このライブラリを実行するのに20秒程度時間がかかりますが、行挿入の部分でエラーが出ることが無くなりました。
「行複製」or「行挿入」の前工程の「最終行を取得する」部分ではエラーが出なかったためファイルは開いていると認識しており盲点でした。
このExcelファイルに既に今年度のデータとして手作業で数千入っていたことも原因の一つかもしれません。
Excelを開かなくてもExcel操作のライブラリでファイルが開くためExcel開くを使うことがなかったのですが使いどころがある事を知りました。