WinActorでExcelを使ってデータの転記作業をさせることはよくありますよね。
今回は、セルの書式や数式等も含めて一括でコピーする際に、稀に起こるエラーとその回避方法をお伝えします。
そもそもWinActorでセルの書式や数式等も含めて一括でコピーするにはどうしたらよいの??
という方は、記事の後半にコピー&ペースト方法を記載していますので、そちらをまずご覧ください。
手順1、手順2の2ステップで転記処理を行えます。
稀に起こるエラーについて
ここでは、転記元ファイルに保護をかける等 特別なことは何もしていないのに、残念ながら起こってしまう代表的なエラー例とその回避方法を順に紹介します。
①RangeクラスのPasteSpecialメソッド失敗
【原因】クリップボードが空の時に発生します。
【パターン1】コピーとペーストの間に他のノードがある
操作によってはクリップボード内のデータがクリアされてしまうために発生するのものです。
【パターン2】データのコピーが完了していない
データがクリップボード内に入るまでにラグが生じる場合があり、ペースト時にコピーが完了していないために発生するものです。
【回避策】コピーとペーストの間に「指定待機時間」を入れます。
②書式・数式等の貼り付け失敗
【原因】転記元、転記先Excelが別のインスタンス(プロセス)で開いている
【回避策】同じインスタンス(プロセス)で開きます(具体的な対処方法は↓へ)
③画像が貼りつく
【原因】転記元、転記先Excelが別のインスタンス(プロセス)で開いている
【回避策】同じインスタンス(プロセス)で開きます(具体的な対処方法は↓へ)
④「形式を選択して貼り付け」が出る
【原因】転記元、転記先Excelが別のインスタンス(プロセス)で開いている
【回避策】同じインスタンス(プロセス)で開きます(具体的な対処方法は↓へ)
Excelを同じインスタンスで起動する方法
転記元、転記先Excelが別のインスタンス(プロセス)で開いたために②③④のエラーが発生した場合は、下記の手順で回避可能です。
まず現状をご確認いただいてから、回避策を挿入します。
【手順1】タスクマネージャーを開き、Excelが別のインスタンスで開いていることを確認します
💡同じエラーが出てもインスタンス起因でないこともあります。
コピー範囲が大きい場合やPCスペックが低い、アプリ挙動が遅い環境下では待機時間が重要になります。
データがネットワーク環境下にあればデータをローカルPCに移動する等、なるべく平易な環境で検証を行い、エラー原因を追究するのがお勧めです。
【手順2】Excelファイルの開き方を変更します
手段は下記2つがありますので、状況に応じてどちらかをご利用ください。
①「ファイルと関連づいているアプリ起動」を使用してExcelファイルを開く
②転記元Excelを開いた後、「エミュレーション」で[Ctrl+F12]押下し、転記先のExcelファイルを開く
いかがでしょうか。エラー回避のお役に立てることを願っております。
書式や数式等も含めて一括で転記する方法
さて、ここからは セルを書式ごと一括でコピー&ペーストする方法と書式を指定してペーストする方法をご紹介します。
【手順1】転記元のデータをコピーします
データをコピーする手段は下記2種類があります。
どちらかをご利用ください。
①「Excel操作(範囲コピー)」を使用する
②「エミュレーション」を使用する
💡「Excel操作(値の取得)」「Excel操作(値の取得2)」は、セルの値を変数に取り込みます。
今回はセルの書式や数式等も含めて一括でコピーしたいので利用しません。
【手順2】転記先に書式(や数式)ごとデータを貼り付けます
データを貼り付ける手段は下記2種類があります。
どちらかをご利用ください。
①「Excel操作(ペースト)」を使用する
②「エミュレーション」を使用する
💡「Excel操作(値の設定)」「Excel操作(値の設定2)」は、変数に取り込まれている値をセルに設定します。また、「Excel操作(値のみペースト)」は、文字通り書式等を含まない値のみを貼り付ける場合に使用します。
今回はセルの書式や数式等も含めて一括でコピーしたいので利用しません。
≪参考≫書式を指定して貼り付けたい場合は、エミュレーションを使って「Ctrl+Alt+V」を押下し、「形式を選択して貼り付け」から書式を選択します。
今回はExcel間で書式付き転記を行う際に発生するエラーの紹介をしました。
シナリオ作成時に予期しないエラーが出ると困惑しますが、ひとつひとつ潰して できるだけ早く実運用に移行していきたいものです。
この記事がエラー回避の参考となることを願っております!
▼こちらもおすすめ