MENU

for Ideal Design

RPA

RPAツール:WinActor Excel間の書式付き転記で起こるエラーについて

RPA WinActor エンジニア

WinActorでExcelを使ってデータの転記作業をさせることはよくありますよね。
今回は、セルの書式や数式等も含めて一括でコピーする際に、稀に起こるエラーとその回避方法をお伝えします。

そもそもWinActorでセルの書式や数式等も含めて一括でコピーするにはどうしたらよいの??
という方は、記事の後半にコピー&ペースト方法を記載していますので、そちらをまずご覧ください。
手順1、手順2の2ステップで転記処理を行えます。

■稀に起こるエラー

Excelを同じインスタンスで起動する方法
書式や数式等も含めて一括で転記する方法

 

稀に起こるエラーについて

ここでは、転記元ファイルに保護をかける等 特別なことは何もしていないのに、残念ながら起こってしまう代表的なエラー例とその回避方法を順に紹介します。

①RangeクラスのPasteSpecialメソッド失敗

rangeクラスのpastespecialメソッドが失敗しました

 

【原因】クリップボードが空の時に発生します。

【パターン1】コピーとペーストの間に他のノードがある
操作によってはクリップボード内のデータがクリアされてしまうために発生するのものです。

Paste失敗回避策

 

【パターン2】データのコピーが完了していない
データがクリップボード内に入るまでにラグが生じる場合があり、ペースト時にコピーが完了していないために発生するものです。
【回避策】コピーとペーストの間に「指定待機時間」を入れます。

 

②書式・数式等の貼り付け失敗

貼り付けエラー2

【原因】転記元、転記先Excelが別のインスタンス(プロセス)で開いている
【回避策】同じインスタンス(プロセス)で開きます
(具体的な対処方法は↓へ)

③画像が貼りつく

貼り付けエラー3(画像が貼りつく)

【原因】転記元、転記先Excelが別のインスタンス(プロセス)で開いている
【回避策】同じインスタンス(プロセス)で開きます
(具体的な対処方法は↓へ)

④「形式を選択して貼り付け」が出る

貼り付けエラー4(形式を選択して貼り付け)

【原因】転記元、転記先Excelが別のインスタンス(プロセス)で開いている
【回避策】同じインスタンス(プロセス)で開きます
(具体的な対処方法は↓へ)

 

Excelを同じインスタンスで起動する方法

転記元、転記先Excelが別のインスタンス(プロセス)で開いたために②③④のエラーが発生した場合は、下記の手順で回避可能です。
まず現状をご確認いただいてから、回避策を挿入します。

【手順1】タスクマネージャーを開き、Excelが別のインスタンスで開いていることを確認します

プロセス状況確認

💡同じエラーが出てもインスタンス起因でないこともあります。
コピー範囲が大きい場合やPCスペックが低い、アプリ挙動が遅い環境下では待機時間が重要になります。
データがネットワーク環境下にあればデータをローカルPCに移動する等、なるべく平易な環境で検証を行い、エラー原因を追究するのがお勧めです。

【手順2】Excelファイルの開き方を変更します

手段は下記2つがありますので、状況に応じてどちらかをご利用ください。
①「ファイルと関連づいているアプリ起動」を使用してExcelファイルを開く
②転記元Excelを開いた後、「エミュレーション」で[Ctrl+F12]押下し、転記先のExcelファイルを開く

ファイルと関連づいているアプリ起動

エミュレーションでファイルを開く2

いかがでしょうか。エラー回避のお役に立てることを願っております。

 

書式や数式等も含めて一括で転記する方法

さて、ここからは セルを書式ごと一括でコピー&ペーストする方法と書式を指定してペーストする方法をご紹介します。

【手順1】転記元のデータをコピーします

データをコピーする手段は下記2種類があります。
どちらかをご利用ください。
①「Excel操作(範囲コピー)」を使用する
②「エミュレーション」を使用する

転記元コピー

💡「Excel操作(値の取得)」「Excel操作(値の取得2)」は、セルの値を変数に取り込みます
今回はセルの書式や数式等も含めて一括でコピーしたいので利用しません。

【手順2】転記先に書式(や数式)ごとデータを貼り付けます

データを貼り付ける手段は下記2種類があります。
どちらかをご利用ください。
①「Excel操作(ペースト)」を使用する
②「エミュレーション」を使用する

転記先貼付け

💡「Excel操作(値の設定)」「Excel操作(値の設定2)」は、変数に取り込まれている値をセルに設定します。また、「Excel操作(値のみペースト)」は、文字通り書式等を含まない値のみを貼り付ける場合に使用します。
今回はセルの書式や数式等も含めて一括でコピーしたいので利用しません

 

≪参考≫書式を指定して貼り付けたい場合は、エミュレーションを使って「Ctrl+Alt+V」を押下し、「形式を選択して貼り付け」から書式を選択します。

数式のみ貼付け例

今回はExcel間で書式付き転記を行う際に発生するエラーの紹介をしました。
シナリオ作成時に予期しないエラーが出ると困惑しますが、ひとつひとつ潰して できるだけ早く実運用に移行していきたいものです。
この記事がエラー回避の参考となることを願っております!

 

▼こちらもおすすめ