RPA(Power Automate)でkintoneのレコードの一括更新をやってみた
はじめに
kintoneを運用していくと、途中でフィールドを足したりすることがよくあります。
足したフィールドには、何らかの値を入力したり、チェックを入れたりしますよね。
そんなとき便利な標準機能が、「ファイルに書き出す」をして必要な値などを入力した後、「ファイルから読み込む」で一括更新をする方法です。
ですがこの処理、結構面倒です。
あと、読み込むとき、更新するフィールドを間違えそうで怖いんですよね。
今回はRPAを使って、レコードの一括更新をやってみました。
この記事をおすすめしたい方
ファイルの書き読みによる更新が面倒(よく分からない)
パソコンを使わないときに、ポチっと押して更新処理して欲しい
難しいプログラミングはわからない
今回は、計算フィールドを途中で足した場合の一括更新をやってみました。
準備したkintoneアプリは、「レコード番号」、「数値1」、「数値2」というフィールドがあるアプリです。
このアプリを運用していたとします。
運用途中から、「数値1」+「数値2」を計算して、「計算」フィールドに計算結果を表示する必要が生じました。
「計算」フィールドを足した時点で、今までのレコードも「数値1」+「数値2」をして欲しいのですが、自動では計算してくれません。
計算結果を表示するには、1度編集画面にして、保存するという処理が必要です。
既存のレコードが少なければ、地道に「編集」→「保存」を手動で繰り返すというのも手です。
多いときは「ファイルに書き出す」をして、「ファイルから読み込む」で一括更新する方が良いです。
ですが、ファイルの再読み込みは結構面倒ですし、更新設定を間違えると大変です。
今回は地道に「編集」→「保存」を繰り返す処理をRPAで自動化しました。
やっていることは手動と同じなので、間違えて変なところを更新することもありません。
準備したもの
RPAツール(Power Automate(無料版))
設定した一括更新の仕組み
簡単に言うと、RPAでkintone詳細画面を開く、編集画面にする、保存する処理を繰り返すという仕組みです。
Power Automateはノーコードで設定できます。
設定のポイントは、kintoneのショートカットキーを使うことです!
ショートカットキーを使う理由は、レコードを順番に移動できるからです。
レコードはレコードごとにURLを持っているので、RPAでURLを順番に変えていけば次のレコードに移動できるのですが、レコードを削除していた場合は空き番号になっているので、そこのフロー設定が面倒です。
今回使ったショートカットキーは、次の3つです。
イメージで説明するとこんな感じです。
RPAでショートカットキーに割り当てられているキーを送信することで、ショートカット機能が発動します。
RPA実行前に一覧画面でレコード降順に並べておき、処理を終了したいレコードになったら自動的に終了するよう設定するのもポイントです。
大抵、すべてのレコードを一括更新すると思うので、レコード番号は"1"であることが多いと思います。
処理の流れ
kintoneにログインしておく
更新処理を開始するレコードの詳細画面を開いておく
RPA(Power Automate)に設定したフローを実行すると、以下の作業を自動処理してくれます
入力ダイアログが開き、処理を終了するレコード番号(例えば"1")を入力する
編集画面にする(e:選択したレコードを編集する)
保存する(Ctrl+s:変更を保存する)
次のレコードに移動する(j:次のレコードを選択する)
5~7を繰り返し処理する
4で入力したレコード番号(例えば"1")と編集するレコード番号が一致したら処理を終了する(一致しなければ5に戻る)
設定方法
RPAではさまざまな方法でフローが設定できます。
これがベストな方法ではないかもしれませんが、今回設定した内容をざっくり紹介します。
Power Automate(入力ダイアログ)
最初に、処理を終了するレコード番号を入力してもらうダイアログを設定します。
レコード番号降順に並んでいるので、処理を開始する番号が一番大きい番号、処理を終了する番号が一番小さい番号です。
既定値を"1"に設定すると、入力が楽ちんです。
Power Automate(ブラウザの起動とレコード番号抽出)
処理を開始したいレコードの詳細画面からフローを実行するため、ブラウザはフォアグラウンド ウィンドウを使用します。
「Webページからデータを抽出する」で、詳細画面のレコード番号を指定します。
Power Automate(編集→保存→次のレコードを繰り返す)
ここがメインの設定です。
ループ処理の終了条件は、最初のダイアログで入力されたレコード番号と詳細画面で抽出したレコード番号が一致することです。
逆を言うと、一致しない間はループ処理を続けます。
キーの送信でショートカットキーを設定します。
Power Automate(終了処理)
最後に、メッセージを表示して終了します。
設定したフローを実行してみると
Power Automateのフローを実行してみます。
画面がうにうに動いて、手動でやっているのと同様、「編集」→「保存」して、「次のレコード」に移っていきます。
10件のレコード更新にかかった時間は、フロー実行を開始して25秒でした。
件数が多いと結構時間がかかりそうですね。
これならファイル書き読みが良いと感じる方もいれば、RPAを空いてる時間に実行しておけば良いので、これで良いという方もいるでしょう。
それぞれのメリットデメリットで使い分けると良いと思います。
おわりに
今回は、kintoneのショートカットキーを活用したRPAでした。
ちょっと分かりづらかったと思いますので、仕組みのイメージだけもう1度。
今回は計算フィールドを表示させるための一括更新でしたが、次回はこの仕組みを活かして、ルックアップの更新や添付ファイルのダウンロードなどをやってみようと思います。
ざっくりした設定方法の説明で恐縮ですが、参考になれば幸いです。
※2022年12月17日、改良版の記事を書きましたので、よかったらこちらもご覧ください。