Power Automate for desktop(RPA)でExcelファイルを自動処理してみよう
ASCII.jp / 2022年8月23日 8時0分
こんにちは、Microsoft MVP(Azure / Business Applications)の松本典子です。
本連載の前々回(第15回)と前回(第16回)では、Power Automateのデスクトップフローとクラウドフローを連携させるための基礎知識をご紹介しました。
今回からは、デスクトップフローとクラウドフローを連携させて、より実践的なアプリケーションをノーコードで作成する方法をご紹介します。
0. 今回作成するワークフロー
![](https://ascii.jp/img/2022/08/20/3407388/x/fe838a40a9459727.jpg)
OneDrive内の指定フォルダーに名刺の画像を置くと、自動的に「AI Builder」のOCRサービスで文字解析を実行し、抽出した文字情報をローカルPC上のExcelファイルに書き込むワークフロー(アプリケーション)を作成します。クラウドフローとデスクトップフローの役割分担は、上図のようになっています。
まず今回の記事では、ローカルのExcelファイルに対する文字情報の書き込みを行うデスクトップフロー(Power Automate for desktop)を作成していきます。
1. 事前準備
![](https://ascii.jp/img/2022/08/20/3407389/x/61442a42db12fa1a.jpg)
ローカルPC上で、あらかじめ上の画面のようなExcelファイルを作成しておきます。今回は名刺画像から読み取った情報を書き込むので、以下のように名刺に含まれる項目を用意しました。全部で8項目あります。
・登録日 ・会社名 ・部署 ・役職 ・名前 ・住所 ・電話番号 ・Email
なお、Excelファイルのファイル名は「名刺一覧.xlsx」としました。
2. 作成するデスクトップフローの全体像
![](https://ascii.jp/img/2022/08/20/3407390/x/20a91b90f8f0e87f.jpg)
今回、Power Automate for desktopで作成するフローはこのような形になります。
Power Automateポータル画面の「+作成」から「デスクトップ フローを作成する」を選択するか、デスクトップ版のPower Automate for desktopアプリを起動して「+新しいフロー」を選択します。
フロー名にわかりやすい名前を入力し(今回は「名刺一覧リスト」としました)、「作成」ボタンをクリックします。
3. 入力変数の準備
![](https://ascii.jp/img/2022/08/20/3407391/x/b7bfc4a367e6f755.jpg)
まずは、クラウドフローから渡されるデータ(AI Builderが名刺から読み取ったテキスト情報)を受け取るために、入力変数の準備をします。画面右メニューの「入出力変数」に表示されている+をクリックすると、「入力」か「出力」かの選択肢が表示されるので「入力」を選択します。
![](https://ascii.jp/img/2022/08/20/3407392/x/c23911708fc7cbe7.jpg)
入力変数は、前述した名刺情報の各項目に合わせて作成します。8項目ありますが、上の図は「会社名」用の入力変数の設定例です。入力変数の設定項目はそれぞれ次のとおりです。
・変数名:Power Automate for desktopで利用する変数(半角英数) ・データの種類:「テキスト」を選択。 ・外部名と説明:クラウドフロー側のコネクタで表示される名前と説明文。わかりやすい名前、説明文を入力(日本語も可)。
このようにして、8項目ぶんの入力変数8個を作成します。なお今回は、それぞれ次のような変数名にしました。
・会社名:CompanyName ・部署:Department ・役職:Position ・名前:Name ・住所:Address ・電話番号:Tel ・Email:Email ・日付:date
4. フローの作成
入力変数が用意できたら、左メニューにある「アクション」から利用したいアクションを選び、フローを作成していきます。
4-1. Excelの起動
![](https://ascii.jp/img/2022/08/20/3407393/x/d30c444b877a4fa2.jpg)
今回はあらかじめ用意したExcelファイルにデータを書き込む(追記する)フローですので、最初は「Excelの起動」アクションを実行します。左メニューの「Excel」カテゴリにある「Excelの起動」アクションを選択し、フローデザイナーにドラッグアンドドロップします。
![](https://ascii.jp/img/2022/08/20/3407374/x/ca8f4107e7e3920e.jpg)
すると、アクションの設定画面が開きます。設定項目はそれぞれ次のようにします。
1. Excelの起動:「次のドキュメントを開く」を選択 2. ドキュメントパス:「1. 事前準備」で作成したExcelファイルのパスを指定
なお、下にある「読み取り専用として開く」スイッチをONにすると上書きができなくなるので、OFFのままにしておきます。上記の1と2を設定したら「保存」をクリックします。
![](https://ascii.jp/img/2022/08/20/3407375/x/7ebc4186fc3e07ee.jpg)
フローデザイナーに「Excelの起動」アクションが追加され、上図のような表示になります。
4-2. 「Excelワークシートから最初の空の列や行を取得」アクションの追加
続いて、左メニューの「Excel」カテゴリから「Excelワークシートから最初の空の列や行を取得」アクションを選択し、フローデザイナーにドラッグ&ドロップしてワークフローに追加します。
![](https://ascii.jp/img/2022/08/20/3407376/x/16b0202680093375.jpg)
先ほどと同じようにアクションの設定画面が表示されるので、次のように設定します。
1. Excelインスタンス:「Excelの起動」アクションの実行時に自動生成される変数「%ExcelInstance%」を選択 2. 生成された変数:「FirstFreeRow」だけをONに変更
上記の内容に変更したら「保存」をクリックします。
4-3. 「Excelワークシートから読み取る」アクションの追加
左メニューの「Excel」カテゴリから「Excelワークシートから読み取る」アクションを選択し、ワークフローに追加します。Excelの1行目には項目名が入っているため、2行目移行に順次書き込むように設定します。
![](https://ascii.jp/img/2022/08/20/3407377/x/4322ed96f1c6b4dc.jpg)
1. Excelインスタンス:「%ExcelInstance%」を選択 2. 取得:「セル範囲の値」を選択 3. 先頭列:「1」と入力 4. 先頭行:「1」と入力 5. 最終列:項目が8つあるので「8」と入力 6. 最終行:空白行の1つ前の行を指定したいので「%FirstFreeRow-1%」と入力
なお「詳細」と「生成された変数」はデフォルト設定のままで大丈夫です。「生成された変数」の「%ExcelData%」には、セル範囲の値が入ります(今回だと項目数の「8」)。
上記の内容に変更できたら「保存」をクリックします。
4-4. 「For each」アクションの追加
左メニューの「ループ」カテゴリから「For each」アクションを選択し、ワークフローに追加します。これにより、項目数の数(今回は8つ)だけ、繰り返しExcelファイルへの書き込み処理を行います。
![](https://ascii.jp/img/2022/08/20/3407378/x/5f2cf97bdc7283c3.jpg)
「反復処理を行う値」欄の右にある「{X}」をクリックすると「変数の選択」ができます。一覧から「フロー変数」をクリックし、「Excelワークシートから読み取る」アクションで生成された変数「%ExcelData%」を選択します。
![](https://ascii.jp/img/2022/08/20/3407365/x/f92a889b1092e1cf.jpg)
指定した変数「%ExcelData%」には、項目数の「8」が入っています。したがって、このFor eachブロックは8回処理を繰り返す(ループする)ことになります。
4-5. 「Excelワークシートに書き込む」アクションの追加
![](https://ascii.jp/img/2022/08/20/3407366/x/53fcc61879b45dd5.jpg)
左メニューの「Excel」Excelから「Excelワークシートに書き込む」アクションを選択し、ワークフローの「For each」と「End」の間にアクションを追加します。これにより、For eachブロックで処理が繰り返されることになります。
![](https://ascii.jp/img/2022/08/20/3407381/x/8cbe51c94bfa4293.jpg)
このアクションでは、「1. 事前準備」で作成したExcelファイルの項目を、左から順に入力するよう設定します。
![](https://ascii.jp/img/2022/08/20/3407382/x/668af7ed0492ade9.jpg)
まず最初に、1列目の「登録日」を入力するアクションを作成します。
1. Excelインスタンス:「%ExcelInstance%」を選択 2. 書き込む値:「3. 入力変数の準備」で準備した変数から「%date%」を選択 3. 書き込みモード:「指定したセル上」を選択 4. 列:1列目の「登録日」なので「1」を入力 5. 行:最初の空白行に書き込むため、フロー変数の「%FirstFreeRow%」を入力
![](https://ascii.jp/img/2022/08/20/3407383/x/bb7d42e8a8b08745.jpg)
フローデザイナーの表示は上図のようになります。
続いて、2列目の「会社名」を入力するアクションを作成します。先ほどと同じように「Excelワークシートに書き込む」アクションを追加し、以下のように設定します。
![](https://ascii.jp/img/2022/08/20/3407384/x/e7a62554421c4c0d.jpg)
先ほどの「登録日」を書き込むアクションと比較すると、「2. 書き込む値」の変数名と、書き込み先の「4. 列」の数字が違っていますね。
これを参考にして、For eachブロック内に、Excelシートに書き込むアクションを8項目ぶんすべて作成してください。
4-6. 「Excelを閉じる」アクションの追加
![](https://ascii.jp/img/2022/08/20/3407385/x/12d8440416bee457.jpg)
最後に「Excelを閉じる」アクションを追加します。左メニューの「Excel」カテゴリから「Excelを閉じる」アクションを選択し、ワークフローのFor eachブロックの下(「End」の下)にドラッグ&ドロップします。
![](https://ascii.jp/img/2022/08/20/3407386/x/d138795e475026f1.jpg)
1. Excelインスタンス:「%ExcelInstance%」を選択 2. Excelを閉じる前:同一ファイルに順次書き込みを行っていきたいので「名前を付けてドキュメントを保存」を選択 3. ドキュメント形式:「既定(拡張機能から)」を選択3. 4. ドキュメントパス:今回は「0. 事前準備」で作成したExcelファイルを指定
![](https://ascii.jp/img/2022/08/20/3407387/x/4e4c3e233d9ab581.jpg)
以上で今回のフローが完成しました。忘れずに「保存」します。
最後に
今回紹介したExcelファイルにデータを書き込むフローは、入力変数の内容を変更すればさまざまに活用できます。デスクトップフロー(Power Automate for desktop)だけの場合も利用できますので、ぜひ試してみてください。
次回は、今回作成したデスクトップフローと連携させるクラウドフローを作成し、名刺情報を自動で読み取って記録するアプリケーションを完成させます。
この記事に関連するニュース
-
kintoneでゼロから始めるノーコード開発 第2回 名刺アプリを作ってみる - 作成手順、データ入力、閲覧方法を知る
マイナビニュース / 2024年6月21日 11時0分
-
Excelをノーコードで自動化しよう! パワークエリの教科書 第6回 自動処理のプロセスとは? 「ステップの操作」を解説
マイナビニュース / 2024年6月17日 11時0分
-
kintoneでゼロから始めるノーコード開発 第1回 「kintone(キントーン)」とは? 概要と「無料お試し」登録方法を知る
マイナビニュース / 2024年6月14日 11時0分
-
Excelをノーコードで自動化しよう! パワークエリの教科書 第5回 クエリの更新と取得元データの変更
マイナビニュース / 2024年6月10日 11時0分
-
ローコードプラットフォームに生成AI連携モジュール提供の最新版 - NTTデータ イントラマート
マイナビニュース / 2024年6月5日 11時38分
ランキング
-
12億画素カメラと120W充電対応で6万円以下! さらに高コスパ化したシャオミ「Redmi Note 13 Pro+ 5G」
ASCII.jp / 2024年6月29日 12時0分
-
2早く歩けよ!ゲーマーに嫌われがちなNPC護衛/尾行ミッション…海外ゲーマーの恨みが募る
Game*Spark / 2024年6月28日 12時30分
-
3お風呂が超苦手な柴犬の“逆襲”に家族が大パニック! 爆笑の展開に「やることが大胆」「腹の底から笑った」
ねとらぼ / 2024年6月28日 8時30分
-
4高評価ファンタジー農場シム『Sun Haven』、最新アップデートで有志翻訳を削除。代替の機械翻訳に多数の困惑の声
Game*Spark / 2024年6月28日 11時17分
-
5「スト6ですか?」 “餃子の王将の価格改定”が「格ゲーの調整みたい」と話題に…… 「全体的にアッパー調整」
ねとらぼ / 2024年6月28日 12時0分
記事ミッション中・・・
記事にリアクションする
![](/pc/img/mission/mission_close_icon.png)
記事ミッション中・・・
記事にリアクションする
![](/pc/img/mission/point-loading.png)
エラーが発生しました
ページを再読み込みして
ください
![](/pc/img/mission/mission_close_icon.png)