UiPath 基本的なExcel自動操作方法

2020年9月6日

レコーディングの記事に引き続きMicrosoft Excelを自動操作する方法を紹介します。

日本の業務はExcelを中心に回っていると言ってもいいレベルに

多用されているアプリケーションです。

ブラウザと共にRPAによる自動化の中心となるでしょう。

作成する自動化ツール

Excelで転記を行う例で紹介します。

元あるファイルのセルの値を新規ファイルにコピーして保存します。

最後に完了メッセージを表示して終了します。

作成手順

新規プロジェクト作成

UiPathを起動し「新規プロジェクト」より「プロセス」を選択します。

UiPathを起動し「新規プロジェクト」より「プロセス」を選択

「新しい空のプロセス」が表示されるため

任意の名前と場所を設定し「作成」ボタンを押下します。

「新しい空のプロセス」が表示されるため任意の名前と場所を設定し「作成」ボタンを押下

UiPathの画面が起動します。

下の「アクティビティ」タブを選択し「ワークフロー」より「制御」を開きます。

「シーケンス」アクティビティが表示されるので、それをデザイナーパネルにドロップします。

「アクティビティ」タブを選択し「ワークフロー」より「制御」を開く。「シーケンス」アクティビティが表示されるのでデザイナーパネルにドロップ

「デザイナー」パネルに「シーケンス」が追加されます。

UiPathで自動化する際は最初に土台として

「シーケンス」か「フローチャート」を設置する必要があります。

今回は「シーケンス」を設置します。

「デザイナー」パネルに「シーケンス」が追加

転記元Excelからデータを取得

次に「アプリの連携」と「Excel」を開き、「Excel アプリケーション スコープ」を

先ほど追加した「シーケンス」にドロップします。

「アプリの連携」と「Excel」を開き、「Excel アプリケーション スコープ」を先ほど追加した「シーケンス」にドロップ

次に「Excel アプリケーション スコープ」をクリックし

「プロパティ」パネルの「読み込み専用」をチェックします。

(読み込むファイルには要チェック)

そして「ファイル選択」ボタンをクリックします。

「Excel アプリケーション スコープ」をクリックし、①「読み込み専用」をチェック、②「ファイル選択」ボタンをクリック

ファイルダイアログが表示されるため転記元にしたいファイルを選択します。

すると選択したファイル名が表示されます。

これによりExcelファイルが読み込まれます。

Excelアプリケーションスコープの中が開いたExcelファイルへの操作になります。

転記元にしたいファイルを選択した結果、選択したファイル名が表示

転記元のファイルはA1セルとA2セルに値が入っています。

これを転記していきます。

転記元のファイルの中身。A1セルに150、A2セルが280

次に「セルの読み込み」を「実行」にドロップします。

「セルの読み込み」を「実行」にドロップ

セルの読み込み」が表示されます。

「セルの読み込み」が表示

次に転記元の値を受け取る「変数」を作ります。

「変数」とはプログラミングの要素でデータに名前を付けて保存する箱のようなものです。

変数を作成するためには「変数」タブ→「シーケンス」→「変数の作成」の順にクリックします。

「変数」タブ→「シーケンス」→「変数の作成」の順にクリック

変数が一つ追加されるので、下記のように設定します。

項目設定値
名前A1セルの値
変数の型Object
スコープシーケンス

変数の名前にはルールがありますが、ここでは割愛します。

「A1セルの値」変数が追加された状態

同様に「A2セルの値」も作成しておきます。

「A2セルの値」変数が追加された状態

追加済みの「セルを読み込み」を再度クリックし

「プロパティ」パネルの「結果」に「A1セルの値」変数を設定します。

これによりSheet1のA1セルから「A1セルの値」変数にセルの値を保存する動きになります。

「セルを読み込み」を再度クリックし「プロパティ」パネルの「結果」に先ほど作成した「A1セルの値」変数を設定

同様に「セルを読み込み」をもう一つ追加し、こちらはA2セルを読み込むようにしましょう。

「セルを読み込み」をもう一つ追加

セルを"A2″に変更し(なおシート名を変えると取得対象シートが変わります)

結果に「A2セルの値」変数を設定します。

二つ目の「セルを読み込み」をA2セルからの読み込みに変更

これにより転記元ファイルから、データをUiPathに読み込む動作が完成です。

転記先ファイルの作成とデータ書き込み

次に新規ファイルを作り転記して保存する動作を作ります。

それには「Excel アプリケーション スコープ」を

「シーケンス」にドロップして追加します。

「Excel アプリケーション スコープ」を「シーケンス」にドロップして追加

「ブックのパス」に新規作成したいファイル名を設定します。この設定は"を囲む必要があります。

このように数値でも変数名でもない値は"で囲む必要があります。

このあたりのルールはExcelと同様です。

「ブックのパス」にファイル名”新規ファイル.xlsx”を設定

「セルに書き込み」を新規ファイルの「Excelアプリケーションスコープ」の

「実行」にドロップして追加します。

「セルに書き込み」を新規ファイルの「Excelアプリケーションスコープ」の「実行」にドロップして追加

「プロパティ」パネルの「値」に下記のように設定します。

"=" & A1セルの値.ToString & "*2"
「プロパティ」パネルの「値」に「"=" & A1セルの値.ToString & "*2"」を設定

これにより新規ファイルのA1セルに「=150*2」という数式が自動入力されます。

この「値」の設定もExcelの数式とほぼ変わりません。

&は文字列識別子です。

「A1セルの値」は転記元セルから取得したA1セルの150です。

.ToStringは変数の型を文字列に変換する物です。

Excelでは自動的に変換してくれるため

気になりませんがUiPathやプログラミングでは

人が明示的に指定する必要があります。

転記元ファイル
転記元ファイル

同様にA2用の「セルに書き込み」を作成します。

今度は範囲を"B1″にして数式を下のようにしてみます。

"=" & A2セルの値.ToString & "*2"

これに新規ファイルのB1セルに、転記元ファイルの280を2倍する数式が記入されます。

「範囲」に"B1"を設定し、「プロパティ」パネルの「値」に「"=" & A1セルの値.ToString & "*2"」を設定

最後に完了を表示するメッセージを表示します。

それには「メッセージボックス」を「シーケンス」にドロップします。

「メッセージボックス」を「シーケンス」にドロップ

「プロパティ」パネルの「テキスト」に表示したい任意のメッセージを設定します。

ここも文字列のため"で囲む必要があります。

「プロパティ」パネルの「テキスト」に表示したい任意のメッセージを設定

これにより転記する自動化ツールの完成です。

実行するには「デザイン」リボンの「開始」ボタンを押下します。

「デザイン」リボンの「開始」ボタンを押下

ツールの実行が完了するとメッセージボックスが表示されます。

転記完了のメッセージボックス

最初に設定した「場所」に「新規ファイル.xlsx」が作成されています。

最初に設定した「場所」に「新規ファイル.xlsx」が作成

それを開くと転記した上で2倍する数式が入力されています。

新規ファイルの中身

次の記事

次回はWebブラウザを自動操作する基本的な方法を入力フォームを例に紹介します。

関連記事