StudioXのアクティビティ

UiPath StudioXの共通アクティビティ【日付とテキスト】

2021/07/11

StudioXの共通アクティビティには、元の値を加工した上で他のアクティビティに活用できるものがあります。

特に日付やテキストなどは、目的に合わせて加工することがよくあるでしょう。

これらのアクティビティは「日付とテキスト」グループにまとめられています。

この記事では、以下のアクティビティについて解説します。

記事編集時のStudioX - ver2022.10.3

日付とテキストのアクティビティ

  • テキストを変更
  • テキストを左右に分割
  • 日付を変更

テキストを変更

検索と置換、トリミング、別のテキスト値との結合(連結)などの変更を使用してテキスト値を更新します。(ガイドはこちら)

元となるテキストに対して、文字の置換、空白の除外、テキストの連結、大文字小文字変換などの加工をします。

ここでは、以下の項目について解説します。

  • 変更するテキスト
  • 変更を追加
  • 名前を付けて結果を保存
  • テスト

変更するテキスト

加工する元となるテキストを指定します。

直接テキストを入力する方法の他に、ノートブック(Excel)やクリップボードから貼り付け、実行時に入力などがあります。

変更を追加

[変更を追加]から、以下4つのサブアクティビティが選択できます。

  • 検索して置換
  • テキストを結合
  • トリミング
  • テキストを大文字/小文字に変更

それぞれの動作を見ていきましょう。

検索して置換

[変更するテキスト]に対し、[次を検索]の文字を[次で置換]の文字に変換します。

また、[大文字/小文字を区別]をチェックONで、大文字小文字を区別します。

[大文字/小文字を区別]のチェックOFF
[大文字/小文字を区別]のチェックON

テキストを結合

[変更するテキスト]に対し、指定のテキストを左右に結合します。

左右にテキストを結合した結果のサンプルです。

トリミング

先頭(左)の空白、または末尾(右)の空白を取り除きます。

半角空白と全角空白、どちらでもトリミング可能です。

(説明の便宜上、半角空白は、全角空白はで表記しています。)

テキストを大文字/小文字に変更

英字を大文字/小文字に変換します。

全角でも半角でも、どちらも変換されますね。

大文字に変更

小文字に変更

名前を付けて結果を保存

[変更を追加]アクションで変更した結果について、書き込む場所を指定します。

[ノートブック(Excel)]や[クリップボードにコピー]、[変数を作成]などから指定できます。

テスト

[変更を追加]でテキストを変換した後の結果を確認できる、ミニツールです。

例えば、「にち」を「ばん」に置換するアクティビティがあったとしましょう。

[テストするテキスト]に"こんにちは"と入力し、[テスト]をクリック。

[結果]には、”こんばんは"と表示されました。

テキストを左右に分割

指定したサブテキストの1回目の出現時に、サブテキストの左側と右側のテキストを取得します。(ガイドはこちら)

1つの記号(文字)を基準にして、テキストを2つに分割します。

ここでは、以下の項目について解説します。

  • フルテキスト
  • 区切り記号
  • [左側のテキスト]と[右側のテキスト]

まずは例題を

各項目をひとつひとつ説明する前に、例題を見た方が早いでしょう。

以下の例は、"UiPath StudioX Community Edition"を空白で区切って、”Left_Text"と"Right_Text"に保存します。

その結果を、メッセージボックスで表示しました。

実行した結果がこちら。

区切り記号が複数あった場合は、一番左の記号で区切られます。
おぐし

フルテキスト

分割する対象のテキストを指定します。

直接テキストを入力、ノートブック(Excel)やクリップボードから貼り付け、実行時に入力、変数、それから、VB.NETを使う方法などがあります。

区切り記号

[フルテキスト]を区切る、文字や記号を指定します。

よくある区切り記号は、一覧が用意されているので、そのの中から選択してください。

自分で区切り記号を指定する場合は、"ユーザー定義"を選択し、[+]-[テキスト]をクリックして記号を入力します。

[左側のテキスト]と[右側のテキスト]

分割したテキストの結果について、書き込む場所を指定します。

ちなみに、[区切り記号]で分割できなかった場合は、[左側のテキスト]に全てのテキストが書き込まれます。

日付を変更

日付の加算または減算、月の最初又は最後の日の検索などの操作を使用して相対的な日付を検索します。(ガイドはこちら)

日付を計算して結果出力するアクティビティです。

チェックボックスのON/OFFで、必要な項目が適宜切り替わるので、プロパティはあまり意識しなくてもいいでしょう。

ここでは、以下の項目について解説します。

  • 変更する日付
  • 変更を追加
  • テスト
  • 出力をテキストとして書式設定
  • 名前を付けて結果を保存

変更する日付

変更する対象の日付を指定します。

ノートブック(Excel)や、実行時に入力、カレンダーから選択(日付/時刻)などがあります。

+ (参考)日付として認識できる表示形式

ノートブックの日付を指定する場合について、どこまでの表示が日付として認識できるのか、2022年3月2日で検証してみました。

なお、[実行時に確認]で入力する値でも同じです。

OK
2022/03/02
2022-03-02
2022.3.2
22年3月2日
2日22年3月
3月2日 (年は、現在の年が採用されます)
3/2 (年は、現在の年が採用されます)
3-2 (年は、現在の年が採用されます)
3.2 (年は、現在の年が採用されます)
3/2/22
3.2.22
NG 出力結果
22年3月 2022/3/1と認識 ( 日は1日が採用されます)
22年 2022/1/1と認識 ( 月は1月、日は1日が採用されます)
2日 2022/1/2と認識 ( 年は現在の年、月は1月が採用されます)
2022/3 2022/3/1と認識 ( 日は1日が採用されます)
3/2022 2022/3/1と認識 ( 日は1日が採用されます)
3月22年 2022/3/1と認識 ( 日は1日が採用されます)
3-22 (3月22年のつもり) 2022/3/22と認識 ( 年は現在の年が採用されます)
22/3/2 認識せず
22/3 認識せず
2022 認識せず

日付を指定すると、型の性質上時刻まで表示されますが、時刻の部分は0時0分(=12:00 AM)が入ります。

変更を追加

[変換を追加]から、以下3つのサブアクティビティから選択します。

  • 次/前の曜日を検索
  • 期間を加算/減算
  • 年/月/週の最初/最後の日付を検索

次/前の曜日を検索

指定した日付の、次の曜日に当たる日、または前の曜日に当たる日を特定します。

指定する項目
  • 検出
    [次へ]と[前へ]から指定します。
  • 曜日
    月曜日~日曜日のいずれかより指定します。

例えば、[変更する日]が"2022/3/2"で、[検出]が"次へ"、[曜日]が"水曜日"であれば、3/9になりますね。

また、[検出]が"前へ"、[曜日]が"月曜日"だと、2/28になります。

期間を加算/減算

指定した単位の分だけ加算/減算します。

指定する項目
  • 操作
    "加算"と"減算"のうちの、いずれかを指定します。

  • 加算/減算する数値を指定します。
  • 時間単位
    数値の単位を、"日","週","月","年"の中から指定します。

"2022/3/4"を[変更する日付]に指定して、いくつか例を示してみましょう。

例1)2日後

[操作] [値] [時間単位] 2022/3/4の変更後
加算 2 2022/3/6

例2)3週間後

[操作] [値] [時間単位] 2022/3/4の変更後
加算 3 2022/3/25

例3)4か月前

[操作] [値] [時間単位] 2022/3/4の変更後
減算 4 2021/11/4

例4)来年の3/4

[操作] [値] [時間単位] 2022/3/4の変更後
加算 1 2023/3/4

年/月/週の最初/最後の日付を検索

指定した日付を含む年/月/週の最初/最後の日付を返します。

指定する項目
  • 検出
    "最初の日付"と"最後の日付"の、いずれかより指定します。
    "最初の日付"は対象日が属する期間の初日、"最後の日付"は末日、という意味です。
  • 検索範囲
    "週","月","年"のいずれかより指定します。

例えば、[変更する日付]が"2022/3/4"で、その週の週末(3/5)を返したい場合、[検出]を"最後の日付"、[検索範囲]を"週"と指定します。

逆に2022/3/4が属する週の初日(2/27)を返したい場合は、[検出]を"最初の日付"、[検索範囲]を"週"と指定します。

2022/3/4の、週末と週の頭を計算

  • 2022/3/4の週末 …[検出]:"最後の日付"、[検索範囲]:"週"
  • 2022/3/4の週の頭…[検出]:"最初の日付"、[検索範囲]:"週"

[検索範囲]が"月"であれば月初と月末、[検索範囲]が"年"あればその年の元旦と大晦日、という事になりますね。
おぐし

以下に結果をまとめました。

[検出] [検索範囲] 説明 2021/3/4の変更後
最初の日付 指定日の週の頭 2022/2/27
最後の日付 指定日の週の終わり 2022/3/5
最初の日付 指定日の月初 2022/3/1
最後の日付 指定日の月末 2022/3/31
最初の日付 指定日の年の元旦 2022/1/1
最後の日付 指定日の年の大晦日 2022/12/31

テスト

[変更を追加]の計算で、その結果がどのようになるのかを確認できる、ミニツールを表示します。

出力をテキストとして書式設定

[出力をテキストとして書式設定]をチェックONにすると、あらかじめ用意された表示形式の中から指定できるようになります。

更に、[カスタム書式を使用]をチェックONすると、日付の書式を自分でカスタムできます。

Excelにも、[表示形式]の[ユーザー定義]がありますが、それと同じ機能ですね。

但し、月を表示する場合、定義する文字が大文字のMになるので、注意してください。

小文字のmを使用すると、時刻を表記することになります。

日付の書式で使用できる文字列

カスタム書式で使用できる文字列は、以下のとおり。

例として、"2005/3/4"を書式で変更した結果を表示しました。

書式テキスト 説明 2005/3/4の変換後
%y 1桁の年 5
yy 2桁の年 05
yyyy(またはyyy) 4桁の年 2005
gyyy 4桁の年(西暦付き) 西暦2005
%M 1桁の月 3
MM 2桁の月 03
MMMM 1桁の月(月付き) 4月
%d 1桁の日 4
dd 2桁の日 04
ddd 曜日の省略名
dddd 曜日の完全名 金曜日

書式テキストで、1桁の値を表す場合に"%"がついていますが、これは、書式テキストが1文字の場合にのみ必要です。

例えば"3月"と表記したい場合に"%"は不要で、"M月"と記入すればOKです。(%を付けても問題はありません。)

名前を付けて結果を保存

[変更を追加]アクションで変更した後の結果について、書き込む場所を指定します。

[ノートブック(Excel)]や、[変数を作成]などから指定できます。

ここで、注意点がひとつ。

[出力をテキストとして書式設定]のチェックON/OFFで、書き込む先が別になっています。

試しに、名前を"Date"と入力した後に、チェックONにしてみましょう。

すると、名前が消えてしまいました。

理由は、[プロパティ]パネルを見ると、何となく分かるのではないでしょうか。

チェックOFFの場合には[結果をDateTimeとして保存]に、チェックONだと[結果をテキストとして保存]に出力先が切り替わっているわけです。

これは、日付型とテキスト型で保存する形式が変わる為なのですが、この、記憶する場所が別になっているという事を覚えておきましょう。

まとめ

日付とテキストのアクティビティを使わずとも、Excelの数式で結果を出すことは確かに可能です。

しかし、処理速度や処理内容の把握しやすさなどを考えると、Excelを介さずロジックを組むメリットの方が大きいでしょう。

まとめます。

まとめ

  • [テキストを変更]では、大文字/小文字の変換、テキスト置換、トリミングができる。
  • [テキストを左右に分割]は、テキストを指定記号で2つに分割できる。
  • [日付を変更]では、日付の加減算が可能。

この記事で、何か1つでも新しい発見が得られたのなら、僕もうれしいです。

-StudioXのアクティビティ

© 2023 おぐしログのRPA入門