Excelの可視セルのみ貼り付けるアクションは可能か?

UiPathの操作で、Excelの以下操作を実行しようとしています。

<実行したい操作>
・行がフィルターされたシートの全体をコピーする
・新しいシートに可視セルのみを貼り付けする

このアクションをUiPathで自動で実行したいと考えておりますが、
方法はありますでしょうか?

何卒ご教授ください。よろしくお願いいたします。

UiPathによるExcelの操作(アクティビティが用意されていない操作)は大きく二通りあって、
①「普段どのような操作をしているか?」→「それをキーボードのショートカットでどのように実現できるか?」→「Send Hotkeyアクティビティを使ってその通りに押す」
② 実施したい操作を実行するExcel VBAマクロを作成し、Invoke VBAアクティビティを用いて実施する

のどちらかになると思います。

①で考えると、
「シート全体を選択【ctrl+a】」→「可視セルを選択【F5】+【ctrl+s】+【ctrl+y】+【enter】」→「コピー【ctrl+c】」→「貼り付け先に移動(シート名クリック?)」→「貼り付け【ctrl+v】」って
感じで実現していると思いますので、【】を上手く Send Hotkeyアクティビティに並べてみてくださいな。


COM操作?等でExcelを直接操作する手段もあるようですが、個人的にはやりすぎ感があります。UiPathの業務自動化で、どこまでプログラミングに寄せて良いのでしょうかね。。。。

2 Likes

行フィルタかかってるExcelの可視行のみコピペであれば、
範囲読み込み(ExcelReadRange)のオプションにある「フィルターの使用」にチェックいれて読み込めば、可視行のみのデータテーブルになります。

あとはそのデータテーブルを新規シートにWriteRangeで貼り付ければ良いかと思います。
試してみてください( ・∀・)ノ

2 Likes

ご回答ありがとうございます。
ご提示の方法で実現できそうかなと思ったのですが、
システムから出力されたExcelファイルが非表示したものではなく、グループ化されたものでした。。。
これだと、「フィルターの使用」にチェックを入れても有効にならないようです。

サンプルも添付してみました。こういったデータをうまくコピーしたいと思っています。
可能でしょうか?お手数をお掛けしますが、よろしくお願いいたします。

SampleFile.xlsx (13.1 KB)

@yukino @ryoko
いろいろとアドバイスいただき、ありがとうございました。
結局、Excelデータとの格闘は一旦あきらめて、システムを開いた状態で「データスクレイピング」で対応することにしました。

データスクレイピングで行うと、意図した状態での抽出が可能になりましたので、
これで進めていこうと思います。本当にありがとうございました!

2 Likes

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