10 Excelの読み込みと更新

前回は、Excelファイルを新規作成して出力するロボットを作りました。ここでは、既に存在するExcelファイルを読み込み、データを追加して上書き保存するロボットを作ってみましょう。

次の「四字熟語のExcelファイル」を使いますので、ファイルをダウンロードして任意の場所に置き、ファイル名を「四字熟語.xlsx」に変更しておいてください。


※ファイルの中身は好きなデータに入れ替えてもOKです。


【1】作成するロボットの概要

四字熟語のExcelファイルを読み込み、送信日が入力されていない四字熟語のデータを1件抽出して、メール送信する。メール送信を行ったデータには、送信日に現在の日付をセットして上書き保存する。

※メール送信処理は次回紹介します。


【2】操作手順を考える

操作1:四字熟語のExcelファイルを開く。

以下、Excelワークシートの行を繰り返す。

 操作2:[送信日]を抽出する。

 操作3:[送信日]が入力されているときは、次の行を読み込む

 ここからは、[送信日]が入力されていないときに実行される。

  操作4:[No]を抽出する。

  操作5:[四字熟語]を抽出する。

  操作6:[読み方]を抽出する。

  操作7:[解説]を抽出する。

  操作8:操作4~7で抽出した値を編集して、メール本文を作成する。

  操作9:操作8で作成した値をメール送信する。

  操作10:Excelワークシートの送信日に、現在の日付を入力する。

  操作11:四字熟語のExcelファイルを上書き保存する。

  操作12:繰り返しを終了する。

※操作手順の正解は1つではありません。他にどんな手順があるか考えてみてくださいね。


【3】プロジェクトを作成する

(1)メニューバーの[ファイル]→[新規作成プロジェクト]をクリックします。


(2)次に、[プロジェクト名]に「お手伝いプロジェクト」と入力して、[終了]をクリックします。これで、プロジェクトが作成されました。


【4】タイプ(変数)を作成する

(1)プロジェクト・ビューの[お手伝いプロジェクト]を右クリック→[新規作成]→[Type]をクリックします。


(2)次に、[タイプ名]は「四字熟語情報.type」と入力して、[終了]をクリックします。


(3)そして、タイプ・エディタが表示されたら[+]をクリックして、変数をひとつずつ作成していきましょう。


《作成する変数の名前と種類》

名前種類
送信日ショートテキスト(Short Text)
No整数(Integer)
四字熟語ショートテキスト(Short Text)
読み方ショートテキスト(Short Text)
解説ロングテキスト(Long Text)

(4)これで、タイプと変数の作成は終わりです。画面左上の[すべて保存]をクリックして保存してください。


【5】ロボットを作成する

【5-1】ロボットを新規作成して変数を追加する

(1)プロジェクト・ビューの[お手伝いプロジェクト]を右クリック→[新規作成]→[Robot]をクリックします。


(2)次のようなダイアログが表示されますので、[ロボット名]は「四字熟語メール送信ロボ.robot」と入力して、[終了]をクリックします。


(3)次に、変数を追加するために、変数・ビューの左下にある[+]をクリックします。


(4)そして、[タイプと初期 / テスト値]のプルダウンメニューから、タイプ[四字熟語情報]を選択して、[OK]をクリックします。

すると、「変数に名前がありません」というメッセージボックスが表示されますが、ここでは、名前はタイプ名と同じでよいので[はい]をクリックしてください。


(5)次に、Excel型の変数を追加するために、もう一度、変数・ビューの下にある[+]をクリックします。

そして、[名前]は「四字熟語エクセル」と入力して、[グローバル]にチェックを入れます。さらに、[タイプと初期 / テスト値]のプルダウンメニューから[Excel(シンプル)]を選択して[OK]をクリックします。


【5-2】四字熟語のExcelファイルを開く

(1)エンドポイントを右クリック→[ステップを前に挿入]→[アクションステップ]をクリックします。


(2)次に、ステップ・ビューの[アクションを選択]をクリック→[ファイルシステム]→[ファイル読込]をクリックします。


(3)ここで、はじめにダウンロードした四字熟語のエクセルファイルを読み込みます。

ファイルを読み込む方法は、用途に合わせて次の2種類から選びます。

① ブラウザ・ビューに読み込む(読み取り専用)
変数に読み込む(保存可能)

今回は、読み込んだファイルを上書き保存するので、「② 変数に読み込む」方法を選択します。

それでは、アクションの設定をしていきましょう。まず、[ファイル名]には、四字熟語のExcelファイルのフルパスを入力します。

《例》

C:\Users\(ユーザー名)\Documents\RPAロボ用データ\四字熟語.xlsx

そして、[出力値]は[変数に出力]を選択して、[変数]は[四字熟語エクセル]を選択します。


(4)次に、読み込んだファイルを開くステップを追加します。

エンドポイントをクリックしてから、右クリック→[ステップを前に挿入]→[アクションステップ]をクリックしてください。


(5)次に、[アクションを選択]→[変数を開く]をクリックします。


(6)そして、[変数]には、さきほど四字熟語のExcelファイルを読み込んだ[四字熟語エクセル]を選択します。


【5-3】送信日による条件判定を行う

(1)エンドポイントをクリックすると、ブラウザ・ビューに変数[四字熟語エクセル]のワークシートが表示されます。

ここからの処理は繰り返しになりますので、まずは、繰り返しステップを作成しましょう。

ワークシートの全件選択ボタンを右クリック→[ループ]→[選択中の行をループ]→[最初の行を除外]をクリックします。

すると、繰り返しステップ[Loop Rows]が追加され、ワークシートに青枠(繰り返しの目印)が表示されます。

 ※最初の行はヘッダーなので、繰り返しのデータから除外します。


(2)次に、送信日を抽出します。青枠内の送信日を右クリック→[抽出]→[テキスト]→[四字熟語情報.送信日]をクリックしてください。


(3)ここで、送信日が入力されているかどうかを判定します。エンドポイントを右クリック→[ステップを前に挿入]→[アクションステップ]をクリックしてください。


(4)そして、[アクションを選択]をクリック→[テスト]→[変数判定]をクリックします。


(5)ここで、[条件]の左下にある[+]をクリックして、判定する条件を追加します。「送信日が入力されているとき」という条件を設定してみましょう。

[変数]は[四字熟語情報.送信日]を選択して、[オペレータ]は[<>]を選択します。[値]は未入力のままにして、[OK]をクリックします。


(6)すると、[条件]に[四字熟語情報.送信日 <> “”]というアクションが追加されますので、その[条件]を満たすとき/満たさないときに実行するアクションを設定します。

ここでは、[If]は[すべての条件を満たす]を選択します。これで、送信日が入力されているときは、[Do]のアクション(エラー処理)を実行することになります。

 ※[条件]は[四字熟語情報.送信日 = “”]、[If]は[いずれの条件も満たさない]でもOKです。


(7)次は、[エラー処理]のタブをクリックして、送信日が入力されているときに実行するアクションを設定します。

[Then]は[次のイテレーション]を選択、[次のステップ]は[(直近の繰り返しステップ)]を選択してください。


これで、送信日が入力されているときは、[Loop Rows]ステップに戻り、次のイテレーションの処理を実行します。


(8)処理の内容がわかるように、[ステップ名]は「送信日が未設定→」と入力しておきます。


【5-4】四字熟語のデータを抽出する

(1)エンドポイントをクリックしてから、ブラウザ・ビューの青枠内のNoを右クリック→[抽出]→[数値]→[四字熟語情報.No]をクリックします。

 ※[数値を抽出 の設定]ダイアログは、そのまま[OK]をクリックします。


(2)次に、青枠内の四字熟語を右クリック→[抽出]→[テキスト]→[四字熟語情報.四字熟語]をクリックします。


(3)続けて、読み方と解説も抽出します。


【5-5】メール本文を作成する

(1)まず、作成したメール本文を入力するための変数が必要ですので、変数・ビューの左下にある[+]をクリックします。

そして、[名前]は「メール本文」と入力して、[タイプと初期 / テスト値]は[Long Text(シンプル)]を選択して、[OK]をクリックします。


(2)次に、エンドポイントを右クリック→[ステップを前に挿入]→[アクションステップ]をクリックします。


(3)そして、ステップ・ビューの[アクションを選択]→[変数の割当]をクリックします。


(4)ここから、メール本文を作成していきます。

まず、[変数]にプルダウンメニューから[メール本文]を選択してください。ここに、これから作成する文章が入力されます。

そして、[値]の右端にある[▼]をクリック→[エクスプレッション]をクリックします。


(5)[値]の右下にある[編集]をクリックすると[式エディター]ダイアログが表示されますので、[エクスプレッション]をクリックして、[変数]や[オペレータ]を使いながら文章を作成していきましょう。[出力値]で結果を確認することができます。

《例》

"四字熟語(" + 四字熟語情報.No + "日目)\n\n"
"----------------------------------------------------------\n "
四字熟語情報.四字熟語 + 四字熟語情報.読み方 + "\n"
"----------------------------------------------------------\n"
四字熟語情報.解説 + "\n\n"
"*四字熟語メール送信ロボ [◎□◎]*\n"

《式入力のルール》

  • 文字は””で囲む。(変数は囲まない)
  • 文字列の連結は「+」を使う。
  • 改行は「”\n”」と入力する

【5-6】コメントステップを追加する

コメントステップは、何も実行しないステップで、ロボットにコメントを追加するときに便利です。

ここでは、メール送信ステップの代わりに、コメントステップを追加しておきます。メール送信ステップは、すべてのステップが完成してから追加することにします。


(1)エンドポイントをクリックしてから、[ステップを前に挿入]→[アクションステップ]をクリックします。


(2)次に、[アクションを選択]→[その他]→[コメント]をクリックします。


(3)そして、[ステップ名]には「(ここでメール送信)」と入力しておきます。


【5-7】四字熟語のExcelファイルを上書き保存する

(1)まず、メール送信を行ったデータの送信日に現在の日付をセットします。

ワークシートの青枠内の送信日を右クリック→[修正]→[セット]→[テキスト]をクリックします。


(2)次に、[値]の右端の[▼]をクリック→[エクスプレッション]をクリックします。


(3)そして、[値]の下にある[エクスプレッション]をクリック→[関数]→[現在の日付: date()]をクリックして、[値]に「date()」が入力されたら、[OK]をクリックしてください。


(4)処理の内容がわかるように、[ステップ名]は「送信日をセット」と入力しておきましょう。


(5)次に、Excelファイルを上書き保存する処理を行います。

エンドポイントをクリックしてから、右クリック→[ステップを前に挿入]→[アクションステップ]をクリックします。


(6)次に、[アクションを選択]をクリック→[ファイルシステム]→[ファイル出力]をクリックします。


(7)そして、[ファイル名]は、四字熟語のExcelファイルのフルパスを入力します。

《例》

C:\Users\(ユーザー名)\Documents\RPAロボ用データ\四字熟語.xlsx

そして、[ファイルコンテンツ]は[四字熟語エクセル]を選択して、[ファイルエンコーディング]は[windows 日本語 (windows-31j) ]を選択します。これで、四字熟語のExcelファイルが上書き保存されます。


【5-8】メール本文をログ出力する

デバッグ時にメール本文を確認できるように、ログ出力のステップを追加しておきましょう。


(1)エンドポイントをクリックしてから、右クリック→[ステップを前に挿入]→[アクションステップ]をクリックします。


(2)次に、[アクションを選択]→[出力値]→[ログ出力]をクリックします。


(3)そして、[メッセージ]には、[メール本文]を選択します。


【5-9】繰り返しを終了する

送信日が入力されていない四字熟語データをメール送信して、四字熟語のExcelファイルを更新したら、繰り返しを終了します。


(1)エンドポイントをクリックしてから、右クリック→[ステップを前に挿入]→[アクションステップ]をクリックします。


(2)次に、[アクションを選択]→[その他]→[エラー生成]をクリックします。


(3)そして、[エラー処理]タブをクリックして、[Then]は[ループ終了]、[次のステップ]は[(直近の繰り返しステップ)]を選択します。これで、繰り返しを終了することができます。


(4)これで(メール送信処理はまだですが)ロボットは完成です。画面左上の[すべて保存]をクリックして保存してください。


【6】ロボットを実行する

(1)[デバッグ]をクリックしてから三角形のマークの[実行]をクリックして、ロボットを実行します。

処理が終了したら、次のことを確認してください。

  • ステータス・ビューの[ログ]に、メール本文が正しく表示されている。
  • 四字熟語のExcelファイルが正常に更新されている。
ステータス・ビュー
四字熟語のExcelファイル

(2)もう一度ロボットを実行して、2件目以降も正常に処理されるか確認してみましょう。

ステータス・ビュー
四字熟語のExcelファイル

これで、メール送信までの準備は完璧です!次回はメール送信処理を行いましょう。楽しみですねー。