「Excelのセル転記」ロボットを作成してRPAを体験してみよう
はじめに
前回は「OpenRPA」の概要と実際に使用するためのインストール方法を解説しました。今回からは早速OpenRPAを触って行きたいと思いますが、その前に、皆さんに知っておいていただきたいことを解説したいと思います。
OpenRPAは基本的にプログラムの知識がなくても実行できますが、不具合(エラー)なくRPAを実行させるために知っておきたい知識があります。例えば、RPAロボットを作成する前に「変数の型」を知っていれば、作成する変数を「整数型」にすれば良いのか、「文字列型」にすれば良いのか、迷うことはありません。
そこで今回は、RPAロボットを作成する上で最低限知っておきたい4つの知識、「変数」「変数の型」「スコープ」「デフォルト」について解説します。
変数
変数とは各種データが入る「箱」のようなものです。変数には任意のデータを代入できますが、図1では変数「a」に、数値「1」を代入しています。
変数の型
変数の型では、前述した変数の箱にどのようなデータが保存できるかを定義します。図2に主要な変数の型を記載します。特に使用頻度が高いものは、整数を格納する「Int32」と文字列を格納する「String」です。
スコープ
スコープとは、変数を利用できる範囲のことです。例えば、図3は「Sequence 2(シーケンス 2)」というブロックをマウスで選択した状態です。Sequence 2では画面下に「str_商品名」変数と「int_単価」変数が表示されています。つまり、このstr_商品名変数のスコープはSequence 2で定義されており、int_単価変数のスコープは「Sequence 1」で定義されていることが分かります。また、Sequence 2内ではstr_商品名変数とint_単価変数が利用できることも分かります。
デフォルト
デフォルト(Default)とは「初期値」のことです。初期値を設定したければ、図4のように「int_単価 = 100」や「str_商品名 = "りんご"」のように設定します。int_単価変数のようにInt32型であれば、半角の数字で設定します。str_商品名変数のように文字列型であれば、半角のダブルクォーテーションで文字列を囲みます。
余談ですが、図3①のように「int_単価=100」や図3②「str_商品名="りんご"」のようにデフォルト値として設定することも可能です。
Excel転記を試してみよう
それでは、いよいよExcel転記を始めて行きましょう。ここでは、1つのセルを別ファイルに転記するロボットの作成手順を見ていきます。具体的には「ユーザーリスト.xlsx」ファイルの「A5」セルの値を「転記先.xlsx」ファイルの「B2」セルに転記するロボットになります。この「セルの転記」業務は多方面の部署で行なわれている、非常に需要が高い業務です。
【補足】Excel転記を実行する前に、図5のようなExcelファイルを2つ、ご用意ください。
・ユーザーリスト.xlsx(データ有り)
・転記先.xlsx(データなし)
- OpenRPAを起動し、「プロジェクト」を作成して任意の名前に変更します(図6)。
- 「New Workflow」をダブルクリックして、任意の名前に変更します(図7)。
- Toolbox内の検索フォームに「cell」と入力します。すると、図8のように「Read Cell」アクティビティや「Write Cell」アクティビティが表示されます。
- 「Read Cell」アクティビティを「Sequence」内にドラッグ&ドロップします(図9)。
- 転記元の「ユーザーリスト.xlsx」を指定するために「…」をクリックします(図10)。
- 転記元の「ユーザーリスト.xlsx」ファイルを選択します(図11)。
- 読み込むセル「"A5"」を指定します(図12)。
- 転記元セル「"A5"」から読み込んだデータ(結果: Result)を「str_名前」変数に代入します(図13)。
- 図13の「str_名前」を選択した状態で[Ctrl]キーと[k]キーを押下すると、図14左下のように「str_名前」変数が自動作成されます。
- 「WriteLine」アクティビティを検索し、「Sequence」内にドラッグアンドドロップします(図15)。
- 「WriteLine」アクティビティに出力(output)したい「str_名前」変数を入力します(図16)。補足になりますが、ここで「WriteLine」アクティビティに「str_名前」変数を入力したのは、デバッグ時に「Output」ウィンドウに「str_名前」変数を表示させたかったためです。
- 「Write Cell」アクティビティを検索して「WriteLine」の下にドラッグ&ドロップします(図17左)。すると「Select Types」画面が表示されるので「String」を選択します(図17右)。
- 転記先のExcelファイルを選択するため「…」をクリックします(図18左)。そして「転記先.xlsx」ファイルを選択します(図18右)。
- 最後に、図19のように「転記したいセルを指定」し、また「転記したいセルの値を指定」します。
以上で、Excelのセル転記を行うロボットの作成は完了です。それでは、作成したロボットを保存(Save)して、実行(Play)してみましょう(図20)。
ロボットの実行後、ちゃんとセル転記ができているか確認してみましょう。画面左下の「Output」を押下すると、図16で設定した「WriteLine」アクティビティ値(「str_名前」)が確認できます(図21左)。また「転記先.xlsx」ファイルの「"B2"」セルにも値が転記されていることが確認できます(図21右)。
セル転記のトラブルシューティング
ここでは、セル転記を実行する際によく聞かれる質問について簡単に解説します。
①転記先のExcelファイルに複数のシートが存在する場合は、どうすれば良いか
図22(右)のように、転記したいシートを指定しておくと、そのシートに転記されます。
②転記先のExcelファイルに指定したシートが存在しない場合は、どうなるのか
図23(右)のように、新規にシートが作成されます。
③「Read Cell」アクティビティや「Write Cell」アクティビティが見つからない場合どうしたら良いか
下記の手順を実行します。
- OpenRPAを終了する
- ダウンロードしたOpenRPA.msiファイルをダブルクリックする
- 「Next」ボタン→「Change」ボタンをクリック
- 「Microsoft Office Integration」を選択し「Will be installed on local hard drive」をクリック
- 「Next」ボタン→「Change」ボタンをクリック
- 「Finish」ボタンをクリック
おわりに
今回は「Excelのセル転記」を行うRPAロボットを作成しながら、最低限知っておきたい4点の知識「変数」「変数の型」「スコープ」「デフォルト」を解説しました。なお、今回は初めてのRPAロボット作成を体験していただくため、1セルの転記のみに留めました。Excelのセル転記は実際に多くの業務で実行されているので、覚えておくと便利です。
次回は、Excelの複数行のセル転記(読み取りと書き込み)について解説します。