見出し画像

【改良版】RPA(Power Automate)でkintoneのレコードの一括更新をやってみた

はじめに

こちらの記事で、RPAを使ってkintone詳細画面を開く、編集画面にする、保存する処理を繰り返すという仕組みで一括更新をやってみました。

フローを実行した冒頭に、処理を終了するレコード番号(大抵は"1")を指定し、「レコード番号」フィールドと指定した番号が一致したら、フローを終了するというものでした。

仕組みのイメージはこんな感じです。

一括更新処理のイメージ(改良前)

この方法でも良かったのですが、より簡単・確実にするため、改良版のRPAフローを試してみました。

この記事をおすすめしたい方

  • ファイルの書き読みによる更新が面倒(よく分からない)

  • パソコンを使わないときに、ポチっと押して更新処理して欲しい

  • 難しいプログラミングはわからない

この方法により、処理を終了するレコード番号の指定と「レコード番号」フィールドの配置が必要なくなりました。

準備したもの

改良した一括更新の仕組み

RPAでkintone詳細画面を開く、編集画面にする、保存する処理を繰り返すという仕組みは変わりません。

この動作はkintoneのショートカットキーを使っています。

ショートカットキーを使う理由は、レコードを順番に移動できるからです。

レコードはレコードごとにURLを持っているので、RPAでURLを順番に変えていけば次のレコードに移動できるのですが、レコードを削除していた場合は空き番号になっているので、そこのフロー設定が面倒です。

今回使ったショートカットキーは、次の3つです。

e:選択したレコードを編集する
j:次のレコードを選択する
Ctrl+s:変更を保存する

ここまで改良したところはありません。

改良したところは、処理を終了する条件です。

改良前はレコード番号を条件にしていましたが、改良後は詳細画面で「次のレコードに移動する」アイコンが表示されているか?非表示になっているか?を条件にしました。

「次のレコードに移動する」アイコンが表示されている(最終レコードではない)
「次のレコードに移動する」アイコンが非表示(最終レコードである)

「次のレコードに移動する」アイコンが、
・表示されている → 次のレコードがある(最終レコードではない)
・非表示になっている → 次のレコードがない(最終レコードである)

つまり、「次のレコードに移動する」アイコンが非表示になれば、最終レコードということになるので、ここで処理を終了させます。

イメージで説明するとこんな感じです。

一括更新処理のイメージ(改良後)

処理の流れ

  1. kintoneにログインしておく

  2. 更新処理を開始するレコードの詳細画面を開いておく

  3. RPA(Power Automate)に設定したフローを実行すると、以下の作業を自動処理してくれます

  4. 編集画面にする(e:選択したレコードを編集する)

  5. 保存する(Ctrl+s:変更を保存する)

  6. 次のレコードに移動する(j:次のレコードを選択する)

  7. 4~6を繰り返し処理する

  8. 「次のレコードに移動する」アイコンが非表示になったら処理を終了する(表示されていれば4に戻る)

設定方法

RPAではさまざまな方法でフローが設定できます。
これがベストな方法ではないかもしれませんが、今回設定した内容をざっくり紹介します。

Power Automate(ブラウザの起動と変数の設定)

処理を開始したいレコードの詳細画面からフローを実行するため、ブラウザはフォアグラウンド ウィンドウを使用します。

変数にループ条件となる値を設定しておきます。

Power Automate(ブラウザの起動と変数の設定)

Power Automate(編集→保存→次のレコードを繰り返す)

ここがメインの設定です。
ループ処理の終了条件は、「次のレコードに移動する」アイコンが非表示なることです。
逆を言うと、アイコンが表示されている間はループ処理を続けます。

ここでは、「次のレコードに移動する」アイコンが非表示になったら、変数を変えて、ループを終了させています。

Power Automate(編集→保存→次のレコードを繰り返す)

「次のレコードに移動する」アイコンが非表示になったことをUI要素を指定して判断しますが、ここがちょっと苦戦しました。
最終的には、UI要素を次のように編集することでうまくいきました。

UI要素の編集

Power Automate(終了処理)

最後に、メッセージを表示して終了します。

Power Automate(終了処理)

おわりに

今回は一括更新フローの改良版RPAでした。

ひとつずつレコードを編集して更新するのは時間がかかりますが、パソコンを使用しないときに実行するフローとして考えているので、結構使っています。

このフローを活用して、フィールド入力や添付ファイルのダウンロードなどをやってみようと思います。

ざっくりした設定方法の説明で恐縮ですが、参考になれば幸いです。

いいなと思ったら応援しよう!