前回は、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ファイルが正常に更新されている。
(2)もう一度ロボットを実行して、2件目以降も正常に処理されるか確認してみましょう。
これで、メール送信までの準備は完璧です!次回はメール送信処理を行いましょう。楽しみですねー。