見出し画像

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

はじめに

kintoneを運用していくと、途中でフィールドを足したりすることがよくあります。
足したフィールドには、何らかの値を入力したり、チェックを入れたりしますよね。
そんなとき便利な標準機能が、「ファイルに書き出す」をして必要な値などを入力した後、「ファイルから読み込む」で一括更新をする方法です。

ですがこの処理、結構面倒です。
あと、読み込むとき、更新するフィールドを間違えそうで怖いんですよね。

今回はRPAを使って、レコードの一括更新をやってみました。

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

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

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

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

今回は、計算フィールドを途中で足した場合の一括更新をやってみました。

準備したkintoneアプリは、「レコード番号」、「数値1」、「数値2」というフィールドがあるアプリです。
このアプリを運用していたとします。

計算フィールドを足す前

運用途中から、「数値1」+「数値2」を計算して、「計算」フィールドに計算結果を表示する必要が生じました。

途中で足した計算フィールドは自動で計算してくれない

「計算」フィールドを足した時点で、今までのレコードも「数値1」+「数値2」をして欲しいのですが、自動では計算してくれません。

計算結果を表示するには、1度編集画面にして、保存するという処理が必要です。

1度編集画面にしないと計算結果は表示してくれない

既存のレコードが少なければ、地道に「編集」→「保存」を手動で繰り返すというのも手です。
多いときは「ファイルに書き出す」をして、「ファイルから読み込む」で一括更新する方が良いです。

ですが、ファイルの再読み込みは結構面倒ですし、更新設定を間違えると大変です。

今回は地道に「編集」→「保存」を繰り返す処理をRPAで自動化しました。
やっていることは手動と同じなので、間違えて変なところを更新することもありません。

RPAで地道に「編集」→「保存」を繰り返す

準備したもの

設定した一括更新の仕組み

簡単に言うと、RPAでkintone詳細画面を開く、編集画面にする、保存する処理を繰り返すという仕組みです。

Power Automateはノーコードで設定できます。
設定のポイントは、kintoneのショートカットキーを使うことです!

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

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

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

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

詳細画面で使えるショートカットキー

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

一括更新処理のイメージ

RPAでショートカットキーに割り当てられているキーを送信することで、ショートカット機能が発動します。

RPA実行前に一覧画面でレコード降順に並べておき、処理を終了したいレコードになったら自動的に終了するよう設定するのもポイントです。
大抵、すべてのレコードを一括更新すると思うので、レコード番号は"1"であることが多いと思います。

処理の流れ

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

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

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

  4. 入力ダイアログが開き、処理を終了するレコード番号(例えば"1")を入力する

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

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

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

  8. 5~7を繰り返し処理する

  9. 4で入力したレコード番号(例えば"1")と編集するレコード番号が一致したら処理を終了する(一致しなければ5に戻る)

設定方法

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

Power Automate(入力ダイアログ)

最初に、処理を終了するレコード番号を入力してもらうダイアログを設定します。
レコード番号降順に並んでいるので、処理を開始する番号が一番大きい番号、処理を終了する番号が一番小さい番号です。
既定値を"1"に設定すると、入力が楽ちんです。

Power Automateで設定したフロー(入力ダイアログ)
実行すると表示されるダイアログ

Power Automate(ブラウザの起動とレコード番号抽出)

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

Power Automate(ブラウザの起動とレコード番号取得)

「Webページからデータを抽出する」で、詳細画面のレコード番号を指定します。

Power Automate(ブラウザの起動とレコード番号取得)

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

ここがメインの設定です。
ループ処理の終了条件は、最初のダイアログで入力されたレコード番号と詳細画面で抽出したレコード番号が一致することです。
逆を言うと、一致しない間はループ処理を続けます。

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

キーの送信でショートカットキーを設定します。

Power Automate(キーの送信でショートカットキーを設定)

Power Automate(終了処理)

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

Power Automate(終了処理)

設定したフローを実行してみると

Power Automateのフローを実行してみます。
画面がうにうに動いて、手動でやっているのと同様、「編集」→「保存」して、「次のレコード」に移っていきます。

計算フィールドに値が入った
すべてのレコードが更新された

10件のレコード更新にかかった時間は、フロー実行を開始して25秒でした。

件数が多いと結構時間がかかりそうですね。
これならファイル書き読みが良いと感じる方もいれば、RPAを空いてる時間に実行しておけば良いので、これで良いという方もいるでしょう。
それぞれのメリットデメリットで使い分けると良いと思います。

おわりに

今回は、kintoneのショートカットキーを活用したRPAでした。

ちょっと分かりづらかったと思いますので、仕組みのイメージだけもう1度。

一括更新処理のイメージ

今回は計算フィールドを表示させるための一括更新でしたが、次回はこの仕組みを活かして、ルックアップの更新や添付ファイルのダウンロードなどをやってみようと思います。

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

※2022年12月17日、改良版の記事を書きましたので、よかったらこちらもご覧ください。


この記事が気に入ったらサポートをしてみませんか?