UiPathでEXCELシート名を変えよう

By | 2018年8月5日

UiPathでEXCELシート名を変えよう

UiPathではExcelアクティビティを使うことで、エクセルファイルから読み込んだデータの内容を処理することができました。
しかし、データを読むだけが人間のする作業ではありませんので、
実際にはEXCEL内での操作も自動化したいとなります。
例えばよくあるものの一つとして、「Excelのシート名を変える」という作業があります。

人間がやると非常に簡単なのですが、残念なことにUiPathでは、
EXCELを開き、EXCELそのものに対して何かをする、
というのを補助するようなアクティビティはあまりありません。

では、無理かというとそうではありません。
RPAは基本、人間がやっていることと同じことはできますので、同じ操作を作ってあげればよいです。
やり方に正解はありませんが、いくつか例を紹介していきます。

1.シート名の部分をマウスでダブルクリック>変更する方法

おそらく人間と同じやり方、といわれて最初に思いつくのはこのやり方ではないでしょうか。
BasicRecordingでClickを選択し、変えたいExcelのシート名部分をクリックします。

その後、記録されたClickアクティビティを開いて、プロパティのInput>ClickType
「CLICK_DOUBLE」を選択します。


次にType Intoアクティビティを追加し、Indicate on screenで先ほどのシート名の部分を選択します。
ここで、変えたいシート名を入力させます。

注意点としては、Selectorの指定方法があります。

そのままでは開いたときのファイル名情報や、シート名情報が埋め込まれていますので、
それらを「*」アスタリスクに変えてあげる必要があります。
ClickやTypeIntoアクティビティのメニューボタンをクリックし、「Edit Selector」を選択します。


中に固有の名称が含まれていたらそれらを「*」アスタリスクに変更して下さい。

 

2.キーボードショートカットで「シート名の変更」をする

先ほどはクリック操作を使うことで、シート名変更モードにしていましたが、
こちらはキーボード操作のみでする方法です。

まずType Intoアクティビティを追加します。
Indicate on screenで名前を変更したいシート全体を選択します。
「[k(alt)]hor」と入力します。

これはAltキーを押しながらH,O,Rの順にキーを押しています。
早すぎると動かない場合はプロパティのOptiionsにある、
DelayBetweenKeysを500~1000位で入れてもいいかもしれません。

すぐ下にもうひとつTypeIntoアクティビティを入れ、変えたい名前とEnterキーを入力させれば完了です。
※慣れている方であれば、1つのTypeIntoアクティビティにすべて書いても構いません。
こちらもSelectorには気をつけてください。

3.VBAを呼び出す

上とは全く違うやり方で、VBAの機能を使ってシート名を変更させます。
VBAの起動にはExcelApplicationScopeやEXCELの設定でマクロが起動できるという前準備が必要です。
VBA自体の方法はいくらでもネットで見つかりますので、ここでは割愛します。
UiPathでのVBA起動の方法についてはこちらの記事を参考にしてみて下さい。