【第29回】ロータス博士のWinActor塾~WinActorノート②
WinActorノート編、第二回です。
前回は、「WinActorノートの画面を表示して、加工するテキストを読み込む」までをご紹介しました。
今回はその続きとして、読み込んだテキストを加工して変数に取り込む方法を見てみましょう。
WinActorノート画面を表示……あれ、どこだっけ?
ちょっと待ってくださいね
ロータス君……ぱぱっと前回のページを見てくるとよい。
皆さんも、今回初めてWinActorノートを使うという方は
先にそちらを確認していただくと分かりやすいですぞ。
博士、お待たせしました! 完璧に思い出しましたよ!
全く、調子がいいのう。
では気を取り直して、本題に入ろう。
テキスト加工といっても、いろいろなライブラリがあり、全て説明するのは難しい。
今日はその中でも、特に便利そうなものをご紹介しよう!
テキストの一部分をシナリオ内の変数の値に置き換える
日付や担当者など、処理に応じてテキストの内容を可変にしたい場合。
テキストの一部を指定して、シナリオ内で使用している変数の値に置き換えるよう設定できます。
日付を取得
まず、置き換え対象の日付情報を取得しましょう。
シナリオ内に日付を格納する変数を用意します。
変数名:本日日付
日付を取得するノード「日時取得」を配置します。
【ノード】>日時取得
プロパティ画面を開き、以下のように設定します
①プルダウンを開いて、先ほど用意した変数「本日日付」を選択します
②今回は日付だけ取得できればよいので「日付のみ」を選択します
テキストファイルを修正
今度はテキストファイルを修正します。
テキストの「本日分」の箇所を「{本日日付}」と書き変えます。
「{本日日付}」は、先ほどシナリオ内に作った変数名「本日日付」を、"{}"で囲ったものです。
ライブラリを配置(変数から差し込み)
テキストを変数値に置き換える
シナリオを実行すると、WinActorノート上にテキストファイルの内容が読み込まれ、テキストが置換されます。
「本日」の文字が、変数「本日日付」の値 "2021/01/05" に置き換わっていることが確認できますね。
テキストを変数に取り込む
加工したテキストは、テキストファイルに出力したり、変数の中に取り込むことができます。
ここでは、WinActorノートのテキストを変数に取り込む方法を見てみましょう。
ライブラリを配置(変数に取り込み)
ライブラリ「変数に取り込み」をシナリオ内に配置します
【ライブラリ】>25_WinActorノート
プロパティ画面を開き、以下のように設定します
①取り込むテキスト範囲を選択できます。ここでは「全ブロック」を選択しているので、テキスト全てが取込対象です。
②テキストの改行の有無を選択できます。
③テキストの文字コードに合わせた改行コードを選択して下さい。
④テキストを格納する変数を設定します。ここでは、「メール本文」という変数を用意しています。
テキストを変数に取り込む
シナリオを実行すると、WinActorノートに読み込み、加工したテキストが、変数「メール本文」に格納されます。
おまけ
とまあ、ざっとこんな感じじゃな。WinActorノートで出来ることは他にもいろいろあるぞい。
わあ、何だか便利そうですね!
でもこれなら、WinActorノート以外の方法でもできるんじゃないですか?
確かに「テキストファイル読込」や「文字列置換」といったノードでも全く同じ処理ができる。
そうしても良いのじゃが、WinActorノートを使えば
「複数の変数を1つのノードで一括変換」「テキストファイル上で置換したい変数を設定」
ができるというメリットがあるのじゃ。
シナリオに変更を加えなくても、テキストの内容が修正できるわけですね。
そうじゃ。例えば下の文章を、WinActorノートを使う場合・使わない場合で置換してみよう。
どちらも結果は同じじゃが、WinActorノートを使った方がすっきりまとまるぞい。
下記のテキストには、置換する項目が5つあります。
WinActorノートを使った場合、置換項目の増減に関わらず使用するライブラリは「変数から差し込み」一つで大丈夫です。
WinActorノートを使わない場合は、置換項目の数に応じてライブラリを増やしたり、繰り返しを入れたりといった処理が必要になります。
また、置換項目を変更する場合、WinActorノートでは、この場合テキストファイルを書き換えるだけで済むので、
直接シナリオに手を加える必要がないという利点もあります。
どちらのやり方でも、結果は同様です。
シナリオの作り方はひとつではない。
同じ結果でも、そこにたどり着くまでの過程はいろいろな方法がある。
より良いやり方を模索してみるとよいぞ。人生と同じじゃな!
なるほど、深いですね……!
関連記事こちらの記事も合わせてどうぞ。
2024.11.05
【第105回】ロータス博士のWinActor塾~新しい画像マッチング画面
2024.09.27
【第104回】ロータス博士のWinActor塾~ガイド利用シナリオ(作成編)
2024.09.10