見出し画像

RPA(Power Automate)でkintoneからExcelに帳票出力をやってみた

はじめに

ペーパレス化といってもすぐにできるものではありませんよね。
まだまだ帳票出力は必要なご時世です。
そのため、せっかくkintoneに入力しているのに、kintoneを見ながらExcelなどの様式に入力する、二度手間をかけていませんか?
それはkintoneから直接Excelなどに出力する標準機能がないからですよね。

今回はRPAを使って、kintoneからExcelへの帳票出力をやってみました。

分かりやすい方法で直感的に帳票出力設定したい方は、プラグインなどをご検討ください。

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

  • ライトコースでも帳票出力したい

  • 無料でExcelに帳票出力したい

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

今回準備したkintoneアプリは、請求書アプリです。

請求書アプリの詳細画面

この詳細画面を標準機能の「レコードを印刷」してみると、ほぼそのままの画面が印刷されます。
フィールドの枠線や必要ないレコード番号などのフィールドも印刷されてしまっていますね。
内部資料なら良いかもしれませんが、お客さんにお渡しする場合は、ちょっと耐えられないところもあります。

請求書アプリのレコード印刷画面

今回はRPAを使って、Excelで作っていた請求書の様式に、kintoneから抽出したデータを自動入力してみました。
(kintoneのデータが入るところは、分かりやすく黄色セルにしています)

Excelで作った請求書の様式にkintoneのデータが入ってくる

準備したもの

  • RPAツール(Power Automate(無料版))

  • Excelで作った様式(今回は請求書)

設定した帳票出力の仕組み

簡単に言うと、RPAでkintone詳細画面からフィールドの値を抽出し、抽出したデータが入るべきExcelのセルを指定しているという仕組みです。

Power Automateはノーコードで設定できます。
設定で覚えるポイントは、これだけです!

kintoneから抽出するデータを指定 → Excelのセル指定

処理の流れ

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

  2. Excelに帳票出力したいレコードの詳細画面を開いておく

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

  4. レコードの詳細画面をフォアグラウンド ウィンドウとして使用(新たにブラウザを開くのではなく、開いているブラウザ画面を帳票出力するデータとして使用する)

  5. Excelで作った様式を開く(この様式は上書きせず、この後のフローで帳票出力したデータは別の名前で保存処理します)

  6. kintoneの詳細画面からデータを抽出する

  7. 抽出したデータをExcel様式の指定の位置に書き込む

  8. 6と7を抽出したいデータ分繰り返し処理する

  9. Excel様式に入力されたデータを、名前を付けて保存する

設定方法

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

Excelの準備

Excelの様式は自然体で準備して良いと思いますが、できれば、kintoneの1フィールドに対して、1つのセルを入力できる配置にした方が良いです。

Power Automate(ブラウザとExcelの起動)

帳票出力したいレコードの詳細画面に対してフローを実行するため、ブラウザはフォアグラウンド ウィンドウを使用します。

それから、帳票出力先の元となるExcelの様式を開きます。
ここでは、「特殊なフォルダーを取得(SpecialFolderPath)」を使って、デスクトップのパスを簡単に取得しています。

Power Automateで設定したフロー(ブラウザとExcelの起動)

Power Automate(データ抽出とExcelの書き込み)

ここが1番のポイントです。

kintoneから抽出するデータを指定 → Excelのセル指定

を設定します。

ここでは、kintoneから5つのデータを抽出し、Excelの該当セルに書き込んでいます。

Power Automate(データ抽出とExcelの書き込み)

例えば、1つ目のデータ抽出を見てみます。
「Webページからデータを抽出する」を使用し、このダイアログが出ている状態でブラウザにマウスを持って行くと、フィールドが赤枠で囲まれます。
その状態で、請求書提出日を右クリックすると下の画面のようになるので、「要素の値を抽出」→「テキスト」を選択します。
これで、請求書提出日のデータが抽出できました。
(具体的には変数DataFromWebPageという箱に保存されました)

「Webページからデータを抽出する」で対象を選択する画面

次は抽出したデータをExcelのどこに書き込んで欲しいかを設定します。
書き込む場所はセルで指定します。
今回の請求書提出日は、E列の3行目に書き込んで欲しいです。

書き込んで欲しいExcelのセルを確認する

「Excelワークシートに書き込む」を使用し、E列の3行目を設定します。
「Excelインスタンス」とか「書き込む値」は、今までのフローで設定した変数を入力しますが、Power Automateが勝手に判断し、だいたい自動で入ってきてくれます。
(具体的には、開いたExcelの様式データである変数ExcelInstanceと、Webページから抽出したDataFromWebPageを使用するというものです)

「Excelワークシートに書き込む」で書き込み先のセルを設定

あとは、同様の内容で、

kintoneから抽出するデータを指定 → Excelのセル指定

を繰り返し設定していけばOKです。

テーブルフィールドの場合は、「Webページからデータを抽出する」で設定するフィールドとして、テーブルのどこかで右クリックして「HTMLテーブル全体を抽出する」を設定すれば、テーブルの行数に関係なく、テーブル全体のデータを抽出してくれます。

テーブルの場合は「HTMLテーブル全体を抽出する」を選択

Power Automate(終了処理)

最後に、書き込まれたExcelデータを、名前を付けて保存して、Excelを終了します。

Power Automate(終了処理)

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

Power Automateのフローを実行してみます。
画面がうにうに動いて、kintoneのデータを抽出してくれている感じと、Excelに書き込まれるところが見られます。

請求日と宛先のデータを使って、名前を付けてExcelデータが保存された

保存されたExcelを開いてみると、みごと入力されていますね!
テーブル行が増えても問題なしです!

データが入力されたExcel

おわりに

注意点として、Power Automateを設定した後、フォームを変更(途中にフィールド差し込む)と抽出先を再設定する必要があるみたいです。

あと、Power Automate(無料版)は設定したフローを共有できないので、無料で他のパソコンでも出力したい場合は、同様の設定をしないといけませんね。

ループなどのフローを使えば、複数のレコードを一気に出力することもできそうですね!
出力先のExcelの数式やマクロを応用すれば、用途がもっと拡大できます!

フローの設定は、結構微妙な調整が必要になる(例えばkintoneの抽出データを選択するとき、選択するマウスの微妙なズレでエラーになる)ことがありますが、設定しながら実行(トライアンドエラー)がノーコードで目に見えて分かるので、慣れると簡単です。

プラグインの帳票出力でもそれなりの設定が必要なので、無料かつライトコースでもExcelに出力できるRPAも選択の1つとしていかがでしょうか?

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

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