RPAでスケジューラー登録も自動化したい
もうね、怠惰を求めて勤勉に行きつくというね
典型よね
無心で黙々淡々と作業をやれればいいんだけど
ルーチンワークって大嫌いなんだ
だからユーザーがルーチンのRPA化を望むのもすごく理解できる
ということで、たまにはじぶんのルーチン業務を自動化するよ
どこから祝日をとってくるか
祝日カレンダーのとり方はいろいろ方法があります。
ExcelのWorkDay関数と休業日リストの組み合わせでもいいでしょうし、
GASでja.japanese#holidayカレンダーからとってきたものをGoogle SS VBOで読み取ってきたり、
-
コピペで使える! GoogleAppsScriptで日本の祝日を取得すれば営業日判定にもつかえるよ
WBSを作ったり、カレンダーを作ったりする際に地味に面倒なのが祝日考慮です。 曜日については土日を休み判定すれば機械的にスケジュールが作れますが、 祝日は自分で調べて手入力だとイケてない。 Googl ...
続きを見る
あるいはBlue Prism Digital ExchangeにHoliday API Skillってのもあります。(確か商用有料)
こんなのさ、祝日なんて法に準じて決まってるんだからお役所が作ってくれたらいいのに!
と思ったあなた、いい読みです。
ありました。
さすが内閣府!
CSVまで公開してくれているなんて素敵よ!
JapanUserGroupで公開されていたVBOを利用して銀行休業日カレンダーを作る
Blue PrismポータルのJapanUserGroupで「BPA オブジェクト - 休業日登録オブジェクト」が公開されています。
感謝。
できればすべて自動で済ませたいのでちょっと変えてみた。
▼ということでインポート
▼開始ステージで休業日リストを渡したい
▼ということで、休業日リストを引数で受け取ることにしました
BluePrismのスケジューラーに銀行休業日をカレンダー登録する
ではプロセス側を組んでいきましょう。
ところで、銀行休業日とは――
銀行休業日は、銀行法および銀行法施行令によって定められております。
【ご参考】銀行休業日(銀行法施行令(平成30年8月15日公布改正))
① 国民の祝日に関する法律(昭和二十三年法律第百七十八号)に規定する休日
② 十二月三十一日から翌年の一月三日までの日(前号に掲げる日を除く。)
③ 土曜日
①は内閣府のCSVデータからとれそうですね。
②は計算ステージで算出しましょう。
ということで、やってみましょう。
国民の祝日を取得する
▼まずはデータを取得します。
▼データクレンジングで余分な列の削除と、列名変更してコレクションに格納し翌年分をフィルター
▼内閣府のCSV。B列を消して、A1をNonWorkingDayに変更
▼取れてますな
▼そしてさらに翌年でフィルター
▼翌年の祝日が取れました
銀行休業日を取得する
銀行休業日は単純に算出します。
▼コレクションのフィールド名はNonWorkingDayで用意しておきましょう
’翌年 1/1 AddMonths(FormatDate(Now()+ LocalTime() - UTCTime(), "yyyy/01/01"), 12) ’翌年 1/2 AddMonths(FormatDate(Now()+ LocalTime() - UTCTime(), "yyyy/01/02"), 12) ’翌年 1/3 AddMonths(FormatDate(Now()+ LocalTime() - UTCTime(), "yyyy/01/03"), 12) ’翌年 12/31 AddMonths(FormatDate(Now()+ LocalTime() - UTCTime(), "yyyy/12/31"), 12)
▼銀行休業日も取れましたね
Blue Prismのカレンダーに登録してみる
では動かしてみましょう
▼銀行休業日カレンダーを用意
▼プロセスを動かしましょう
▼でけた!
おわりに
これで運用負荷軽減ができるね。
ただ、休業日登録オブジェクトちょっと調整しました。
追加をクリックで(BPの動きが速すぎて)ミスっていたいので、1秒待ちをいれてやりました。
▼Wait(=1)をいれておきました
いい酒のつまみになりました。