ソフトやサービスに変更があると、 RPA は動かなくなることがあります。
自分である程度直せるようにしておきたいものです。
※確定申告コーナーとExcel by Leica M10
プログラミングの敵は人
プログラミングをすると、人がやらなくても仕事を効率化することができます。
繰り返しやる仕事を人がしなくてすむわけです。
しかしながら、その便利なしくみを人が壊してしまうこともあります。
プログラミングの敵は人です。
たとえば Excel からデータを読み込もうとしたときに、人がそのExcelを変えてしまっていたら、プログラムは動きません。
セル A1の日付を読み取るプログラムなのに、その日付がセルB2へ移動してしまっていたら、もう動かないわけです。
もちろん人がどう動かそうと問題ないようにプログラミングすることはできなくはありませんが、それはそれでプログラミングの手間が膨大に増えてしまいます。
人がプログラミングの邪魔をしないようにするのが得策です。
これは、プログラミングの1つ(と私は考えています)、 RPA でも同様です。
RPA×ブラウザの注意点
Excel 上で基本的に動く Excel マクロであれば、Excelを自分なり他の人が壊さなければ、プログラムが動くには問題ありません。
「ここを変えないように」ということを伝えることもできます。
面識のない人が、そのExcelを触ることはまずないでしょう。
一方で、RPA で、ブラウザに入力する入力する操作を効率化していた場合は、事情がちょっと変わってきます。
そのサービスやソフトを面識のない誰かが触るからです。
もちろん、そのサービスをよりよくするための変更ではあるのでしょうが、RPA で使っていると困ります。
必要のない変更ならして欲しくないものですが、いたしかたありません。
(人によって重要度は違うものですので)
ネット上のサービスは随時変わることがメリットですが、その随時変わることがRPA上、困るわけです。
昨日問題なく動いていたプログラムが今日は動かないこともありますし、去年動いていたプログラムが今年は動かないなんてことは、よくあります。
だからこそ RPA を使うなら、自分である程度修正できるようにしておきたいものです。
RPA のプログラムを直す場合の考え方を、事例を元にまとめてみました。
RPA UiPathの直し方。ふるさと納税のExcelデータをサイトに入力する事例。
今回の事例は Excel にこういったふるさと納税のデータを
国税庁の確定申告作成コーナーへ入力するという事例です。
※ふるさと納税のデータ加工については、こちらの記事を参考にしていただければ。
ブラウザ(ふるさと納税)からExcelへデータ加工事例とコツ&RPA UiPathで自動入力 | EX-IT
昨日も個別コンサルティングで使いました。
プログラムは、このようなものです。
Excelを読み込み、
サイトを開いて、
繰り返し、Excelから月、日を入力し、項目を選択し、
都道府県、市区町村、金額(ふるさと納税の額)を入れ、最後に[入力終了]を押し、
最後にどこまで繰り返すか(Excelにデータがある限り)を指定します。
この入力先のサイト(確定申告コーナー)が、ちょっとだけ変わりました。
そのため、このままのプログラムでは動かないわけです。
[ブラウザーにアタッチ]のエラー
プログラムを実行してみると、まずこういったエラーが出ます。
セレクターというのは、ソフトやブラウザのパーツ(ボタンやボックスなど)を選択している工程で、ここは[ブラウザーにアタッチ]というと書いてあるとおり、「ブラウザーを選択する」というものです。
UI 要素というのは、ユーザーインターフェイスで、ブラウザ上のそれぞれのパーツをいいます。
ブラウザのタブ、ウィンドウ、ボタン、チェックボックスなどです。
エラーでは、その UI 要素が見つからないと書いています。
[ブラウザーにアタッチ]の右上のアイコン→[セレクターを編集]をクリックすると、
どうやってセレクトしているか(選んでいるか)というのがわかります。
ここでは、htmlwindowsnameが1577342676282、titleが、【確定申告書作成コーナー~】という指定です。
このhtmlwindowsnameは、ブラウザーを立ち上げることに変わるので、この場合はいったんチェックを外してウインドウのtitleだけで判断してくれればいいという風に変えると、エラーがなくなります。
元号のエラー
プログラムを実行すると、ひとまず次の画面には進みました。
しかしながらまたエラーで止まります。
今度のエラーは 、月を選択するところでアイテム(選択すべきもの)が見つかりませんでしたと。
画面をぱっと見ただけでは違いがわかりませんが、今回の2019年分の確定申告はこれまでと大きな違いがあるのです。
2019年は、平成31年1月から令和1年(元年)12月までです。
確定申告というのは、通常、その年の1月から12月までの期間でやりますので、年を入れる必要はなく、月から入れればいいわけです。
前回までは、ここに、「平成30年」とあらかじめ入っていました。
今回は、平成か令和かを選ばなければいけないわけです。
その変更がプログラムに影響しています。
また平成を選ぶと、年に「31」が自動的に入り、令和を選ぶと「1」が自動的に入るので元号のみを指定すればいいということです。
(私が実際にやったときは、これも最初はわからず、年もデータとして入れるプログラムをつくっていました。
今回の記事では、その過程は省いています。)
Excelデータに元号欄を追加しましょう。
数式でやるなら、月が5以上だったら令和、そうじゃなかったら平成と自動的に表示することもできます。
元号を読み取る過程をつくってプログラムに入れていきましょう。
UiPathのウェブレコーディングで、
ブラウザ上でたとえば平成を選択して記録します。
記録した結果は、UiPathでこうなりますので必要な[項目を選択]だけを移動させて、
「月」を入れるプログラムの前に置きましょう。
その後、[ブラウザーのアタッチ]という工程は不要なので消しておきます。
(Deleteキー)
ただ、このプログラムだと平成が必ず入ってしまいますので、それをExcelデータから読み取っていれるように、変えていきましょう。
月の部分はrow(”月”).ToStringで、Excelの月という列からデータを1つずつ読み取るように伝えていますので、この部分をコピーしてrow(”元号”).ToStringにすれば、元号を1つずつ読み取るように変えることができます。
……もう2019でいいやんと思うのですが。
「入力終了」と「入力確認」
再度動かしてみましょう。
データの入力はうまくいっていますが、また止まります。
今度は何で止まったのか見てみると、やはり「 UI 要素が見つかりません」と出ています。
よくよく見ると[入力終了]というものが見つからないと出ており、画面を見てみると今回から[入力終了]が[入力確認]に変わっていました。
セレクターを見ると、[入力終了]となっています。
入力終了でいいやんと思うのですが……。
UiPathの[入力終了]の右にあるアイコンをクリックし、[画面上で指定]を選び、ブラウザーの[入力確認]をクリックしましょう。
こう変われば問題ありません。
これで、無事動きました。
なお、この[入力確認]の変更は医療費控除でもありました。
今回は、サイト側に変更があったので、プログラムが動かなくなっていました。
ブラウザーの場合は、自分の意図しない変更というものはあり得ますので、プログラムを多少なりとも直せるようにしておきたいものです。
修正後のサンプルはダウンロードできます。
(ファイル名は適宜指定していただければ)
■編集後記
昨日は確定申告の個別コンサルティングで、お客様の新居へ。
様々な工夫をされていて、びっくりです。
毎年、家族でうかがわせていただき、私とお客様が確定申告をしている間、妻や娘は、奥様や娘さんと。
不思議な空間です。
■昨日の1日1新
※詳細は→「1日1新」
お客様の新居
■昨日の娘日記
昨日はお客様の娘さんと遊んでもらい、楽しんでいました。
疲れ果ててその場で寝るくらいに。
ぬいぐるみの「しろまるひめ」を気に入り、メルカリで探して買いました。
(姫路のマスコットキャラとのこと)
■著書
『税理士のためのプログラミング -ChatGPTで知識ゼロから始める本-』
『すべてをがんばりすぎなくてもいい!顧問先の満足度を高める税理士業務の見極め方』
ひとり税理士のギモンに答える128問128答
【インボイス対応版】ひとり社長の経理の基本
「繁忙期」でもやりたいことを諦めない! 税理士のための業務効率化マニュアル
ひとり税理士の自宅仕事術
リモート経理完全マニュアル――小さな会社にお金を残す87のノウハウ
ひとり税理士のセーフティネットとリスクマネジメント
税理士のためのRPA入門~一歩踏み出せば変えられる!業務効率化の方法~
やってはいけないExcel――「やってはいけない」がわかると「Excelの正解」がわかる
AI時代のひとり税理士
新版 そのまま使える 経理&会計のためのExcel入門
フリーランスとひとり社長のための 経理をエクセルでトコトン楽にする本
新版 ひとり社長の経理の基本
『ひとり税理士の仕事術』
『フリーランスのための一生仕事に困らない本』
【監修】十人十色の「ひとり税理士」という生き方