はじめに
ロボ処理要件の中で、特定日で追加処理を行うケースがあります。ロボ内部で直接、ハードコーディングすれば簡単に解決しますが、業務フロー見直し時に特定日が変更になる場合、ロボ内部の修正が必要になります。
今回はConfigファイルに特定日情報を持たせて、ロボ内部で処理有無の分岐を行わせる方法をメモとして残します。
この記事の対象者
- UiPath初学者
- UiPath Studioを特定日判定する方法を身につけたい方
目次
- 開発環境紹介
- 処理要件確認
- 実装
- 解説
開発環境紹介
- OS:Windows11
- 開発ツール:UiPath Studio
- バージョン:2023.10.0
- ライセンス:Community License
- モダン デザイン エクスペリエンス:いいえ
- Microsoft Excel:2310
- 開発環境に関しては、バージョン等が異なっていても問題ございません
- バージョンによっては画面が一部異なる可能性はございます
UiPath 依存関係
パッケージ名 | バージョン |
---|---|
UiPath.Excel.Activities | 2.22.2 |
UiPath.Mail.Activities | 1.21.1 |
UiPath.System.Activities | 23.10.2 |
UiPath.Testing.Activities | 23.10.0 |
UiPath.UIAutomation.Activities | 23.10.3 |
処理要件確認
・特定処理日(01,02,03,04,05,25,26,27,28,29,30,31)の時に追加処理を行えるようにする。
・業務担当者の要望として、月初・月末時に追加の処理を行う。
・業務内容の見直しで特定処理日を変更する可能性がある。
Config情報
実装
実装補足
DateTime.Now.ToString("dd")
Config("特定処理日").Split(","c)
変数情報
名前 | 変数の型 | スコープ | 規定 | 注釈 |
---|---|---|---|---|
arrSpecificDay | System.String[] | Main Sequence | 特定処理日 | |
processFlg | Boolean | Main Sequence | 処理フラグ(True:処理対象日,False:処理対象外) | |
strProcessDay | String | Main Sequence | ロボ実行日(dd) |
解説
処理内容として、Configから日付(dd)情報を取得する。
まとめてチェックを行いたいため、特定の値で区切れるような形式をとる。
※今回のケースの場合、カンマ(",")区切りで設定を行っています。
ロボで処理日(dd)とConfigから取得した特定日付情報をもとにループチェックを行い、条件一致した場合に特定処理できるようにフラグ管理した構築になっております。
【メリット】
- Configファイルを修正することにより簡単に処理条件を変更することが可能となる
【デメリット】
- 業務担当者がConfigファイルを修正する場合、修正方法を誤るケースがある
※業務担当者に理解していただくように説明資料作成または修正フォローを行うことによりデメリット解消を行える
おわりに
特定処理日で処理方法の分岐は業務要件として発生するケースはあります。実装自体は簡単ですが、保守性も考慮して変更可能性があるデータは極力Configファイルにまとめると良いでしょう。ロボ実行中に特定処理日の条件変更は発生しないため、Configで管理することで、修正が容易になります。今回のメモが誰かの参考になれば幸いです。