「Excelのセル転記」ロボットを作成してRPAを体験してみよう

2023年5月9日(火)
中村 行宏
第2回目の今回は、簡単なRPAロボットを作成しながら、RPAをエラーなく実行させるために必須となる4つの知識を解説します。

はじめに

前回は「OpenRPA」の概要と実際に使用するためのインストール方法を解説しました。今回からは早速OpenRPAを触って行きたいと思いますが、その前に、皆さんに知っておいていただきたいことを解説したいと思います。

OpenRPAは基本的にプログラムの知識がなくても実行できますが、不具合(エラー)なくRPAを実行させるために知っておきたい知識があります。例えば、RPAロボットを作成する前に「変数の型」を知っていれば、作成する変数を「整数型」にすれば良いのか、「文字列型」にすれば良いのか、迷うことはありません。

そこで今回は、RPAロボットを作成する上で最低限知っておきたい4つの知識、「変数」「変数の型」「スコープ」「デフォルト」について解説します。

変数

変数とは各種データが入る「箱」のようなものです。変数には任意のデータを代入できますが、図1では変数「a」に、数値「1」を代入しています。

「変数」とは

図1:「変数」とは

変数の型

変数の型では、前述した変数の箱にどのようなデータが保存できるかを定義します。図2に主要な変数の型を記載します。特に使用頻度が高いものは、整数を格納する「Int32」と文字列を格納する「String」です。

「変数の型」とは

図2:「変数の型」とは

スコープ

スコープとは、変数を利用できる範囲のことです。例えば、図3は「Sequence 2(シーケンス 2)」というブロックをマウスで選択した状態です。Sequence 2では画面下に「str_商品名」変数と「int_単価」変数が表示されています。つまり、このstr_商品名変数のスコープはSequence 2で定義されており、int_単価変数のスコープは「Sequence 1」で定義されていることが分かります。また、Sequence 2内ではstr_商品名変数とint_単価変数が利用できることも分かります。

「スコープ」とは

図3:「スコープ」とは

デフォルト

デフォルト(Default)とは「初期値」のことです。初期値を設定したければ、図4のように「int_単価 = 100」や「str_商品名 = "りんご"」のように設定します。int_単価変数のようにInt32型であれば、半角の数字で設定します。str_商品名変数のように文字列型であれば、半角のダブルクォーテーションで文字列を囲みます。

余談ですが、図3①のように「int_単価=100」や図3②「str_商品名="りんご"」のようにデフォルト値として設定することも可能です。

「デフォルト」とは

図4:「デフォルト」とは

Excel転記を試してみよう

それでは、いよいよExcel転記を始めて行きましょう。ここでは、1つのセルを別ファイルに転記するロボットの作成手順を見ていきます。具体的には「ユーザーリスト.xlsx」ファイルの「A5」セルの値を「転記先.xlsx」ファイルの「B2」セルに転記するロボットになります。この「セルの転記」業務は多方面の部署で行なわれている、非常に需要が高い業務です。

【補足】Excel転記を実行する前に、図5のようなExcelファイルを2つ、ご用意ください。
・ユーザーリスト.xlsx(データ有り)
・転記先.xlsx(データなし)

Excelセルの転記(ゴール)

図5:Excelセルの転記(ゴール)

  1. OpenRPAを起動し、「プロジェクト」を作成して任意の名前に変更します(図6)。
    プロジェクトの作成

    図6:プロジェクトの作成

  2. 「New Workflow」をダブルクリックして、任意の名前に変更します(図7)。
    Workflowの名前変更

    図7:Workflowの名前変更

  3. Toolbox内の検索フォームに「cell」と入力します。すると、図8のように「Read Cell」アクティビティや「Write Cell」アクティビティが表示されます。
    Read Cellアクティビティの検索

    図8:Read Cellアクティビティの検索

  4. 「Read Cell」アクティビティを「Sequence」内にドラッグ&ドロップします(図9)。
    「Read Cell」アクティビティをドラッグ&ドロップ

    図9:「Read Cell」アクティビティをドラッグ&ドロップ

  5. 転記元の「ユーザーリスト.xlsx」を指定するために「…」をクリックします(図10)。
    転記元ファイルの指定(1)

    図10:転記元ファイルの指定(1)

  6. 転記元の「ユーザーリスト.xlsx」ファイルを選択します(図11)。
    転記元ファイルの指定(2)

    図11:転記元ファイルの指定(2)

  7. 読み込むセル「"A5"」を指定します(図12)。
    転記元セルの指定

    図12:転記元セルの指定

  8. 転記元セル「"A5"」から読み込んだデータ(結果: Result)を「str_名前」変数に代入します(図13)。
    読み込んだデータをResultに代入

    図13:読み込んだデータをResult(「str_名前」変数)に代入

  9. 図13の「str_名前」を選択した状態で[Ctrl]キーと[k]キーを押下すると、図14左下のように「str_名前」変数が自動作成されます。
    「str_名前」変数の自動作成

    図14:「str_名前」変数の自動作成

  10. 「WriteLine」アクティビティを検索し、「Sequence」内にドラッグアンドドロップします(図15)。
    WriteLineアクティビティをドラッグ&ドロップ

    図15:「WriteLine」アクティビティをドラッグ&ドロップ

  11. 「WriteLine」アクティビティに出力(output)したい「str_名前」変数を入力します(図16)。補足になりますが、ここで「WriteLine」アクティビティに「str_名前」変数を入力したのは、デバッグ時に「Output」ウィンドウに「str_名前」変数を表示させたかったためです。
    WriteLineアクティビティに「str_名前」変数を入力

    図16:「WriteLine」アクティビティに「str_名前」変数を入力

  12. 「Write Cell」アクティビティを検索して「WriteLine」の下にドラッグ&ドロップします(図17左)。すると「Select Types」画面が表示されるので「String」を選択します(図17右)。
    Write Cellアクティビティをドラッグ&ドロップ

    図17:「Write Cell」アクティビティをドラッグ&ドロップ

  13. 転記先のExcelファイルを選択するため「…」をクリックします(図18左)。そして「転記先.xlsx」ファイルを選択します(図18右)。
    転記先ファイルの選択

    図18:転記先ファイルの選択

  14. 最後に、図19のように「転記したいセルを指定」し、また「転記したいセルの値を指定」します。
    転記先セルの指定

    図19:転記先セルの指定

以上で、Excelのセル転記を行うロボットの作成は完了です。それでは、作成したロボットを保存(Save)して、実行(Play)してみましょう(図20)。

転記先セルの指定

図20:転記先セルの指定

ロボットの実行後、ちゃんとセル転記ができているか確認してみましょう。画面左下の「Output」を押下すると、図16で設定した「WriteLine」アクティビティ値(「str_名前」)が確認できます(図21左)。また「転記先.xlsx」ファイルの「"B2"」セルにも値が転記されていることが確認できます(図21右)。

セル転記が完了

図21:セル転記が完了

セル転記のトラブルシューティング

ここでは、セル転記を実行する際によく聞かれる質問について簡単に解説します。

①転記先のExcelファイルに複数のシートが存在する場合は、どうすれば良いか

図22(右)のように、転記したいシートを指定しておくと、そのシートに転記されます。

転記先のExcelファイルに複数のシートがある場合

図22:転記先のExcelファイルに複数のシートがある場合

②転記先のExcelファイルに指定したシートが存在しない場合は、どうなるのか

図23(右)のように、新規にシートが作成されます。

転記先のExcelファイルに指定したシートが存在しない場合

図23:転記先のExcelファイルに指定したシートが存在しない場合

③「Read Cell」アクティビティや「Write Cell」アクティビティが見つからない場合どうしたら良いか

下記の手順を実行します。

  1. OpenRPAを終了する
  2. ダウンロードしたOpenRPA.msiファイルをダブルクリックする
  3. 「Next」ボタン→「Change」ボタンをクリック
  4. 「Microsoft Office Integration」を選択し「Will be installed on local hard drive」をクリック
  5. 「Next」ボタン→「Change」ボタンをクリック
  6. 「Finish」ボタンをクリック

おわりに

今回は「Excelのセル転記」を行うRPAロボットを作成しながら、最低限知っておきたい4点の知識「変数」「変数の型」「スコープ」「デフォルト」を解説しました。なお、今回は初めてのRPAロボット作成を体験していただくため、1セルの転記のみに留めました。Excelのセル転記は実際に多くの業務で実行されているので、覚えておくと便利です。

次回は、Excelの複数行のセル転記(読み取りと書き込み)について解説します。

ライター
SIer にて、システム開発/構築や社内インフラを担当。その後、セキュリティベンダーに移り、セキュリティ診断(NW、Web、DB)に従事。また、本の執筆や講師も務める。
著書:図解即戦力 情報セキュリティの技術と対策がこれ1冊でしっかりわかる教科書、【イラスト図解満載】情報セキュリティの基礎知識

連載バックナンバー

システム運用技術解説
第5回

「Excel+Yahoo! 路線情報」で作成した交通費の自動精算ロボットを改良しよう

2023/8/10
最終回の今回は、前回作成した「Excel+Yahoo! 路線情報」の交通費自動精算ロボットを改良して、複数人の申請に対応できるようにしていきます。
システム運用技術解説
第4回

「Excel+Yahoo! 路線情報」で交通費の自動精算ロボットを作ってみよう

2023/7/7
第4回目の今回は、「Yahoo! 路線情報」サイトから交通費を自動取得し、交通費を自動精算するロボットを作成します。。
システム運用技術解説
第3回

「Excelのセル転記」ロボットでExcelの複数行読み取り+書き込みを体験しよう

2023/6/6
第3回目の今回は、前回作成したExcelの転記ロボットで、複数行の読み取りと書き込みを行なってみます。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています