松本典子の「はじめよう!Azure Logic Apps/Power Automateでノーコード/ローコード」 第17回
クラウドフローで生成したデータをデスクトップフローでExcelファイルに記録する連携方法〔前編〕
Power Automate for desktop(RPA)でExcelファイルを自動処理してみよう
2022年08月23日 08時00分更新
こんにちは、Microsoft MVP(Azure / Business Applications)の松本典子です。
本連載の前々回(第15回)と前回(第16回)では、Power Automateのデスクトップフローとクラウドフローを連携させるための基礎知識をご紹介しました。
今回からは、デスクトップフローとクラウドフローを連携させて、より実践的なアプリケーションをノーコードで作成する方法をご紹介します。
0. 今回作成するワークフロー
OneDrive内の指定フォルダーに名刺の画像を置くと、自動的に「AI Builder」のOCRサービスで文字解析を実行し、抽出した文字情報をローカルPC上のExcelファイルに書き込むワークフロー(アプリケーション)を作成します。クラウドフローとデスクトップフローの役割分担は、上図のようになっています。
まず今回の記事では、ローカルのExcelファイルに対する文字情報の書き込みを行うデスクトップフロー(Power Automate for desktop)を作成していきます。
1. 事前準備
ローカルPC上で、あらかじめ上の画面のようなExcelファイルを作成しておきます。今回は名刺画像から読み取った情報を書き込むので、以下のように名刺に含まれる項目を用意しました。全部で8項目あります。
・登録日
・会社名
・部署
・役職
・名前
・住所
・電話番号
・Email
なお、Excelファイルのファイル名は「名刺一覧.xlsx」としました。
2. 作成するデスクトップフローの全体像
今回、Power Automate for desktopで作成するフローはこのような形になります。
Power Automateポータル画面の「+作成」から「デスクトップ フローを作成する」を選択するか、デスクトップ版のPower Automate for desktopアプリを起動して「+新しいフロー」を選択します。
フロー名にわかりやすい名前を入力し(今回は「名刺一覧リスト」としました)、「作成」ボタンをクリックします。
3. 入力変数の準備
まずは、クラウドフローから渡されるデータ(AI Builderが名刺から読み取ったテキスト情報)を受け取るために、入力変数の準備をします。画面右メニューの「入出力変数」に表示されている+をクリックすると、「入力」か「出力」かの選択肢が表示されるので「入力」を選択します。
入力変数は、前述した名刺情報の各項目に合わせて作成します。8項目ありますが、上の図は「会社名」用の入力変数の設定例です。入力変数の設定項目はそれぞれ次のとおりです。
・変数名:Power Automate for desktopで利用する変数(半角英数)
・データの種類:「テキスト」を選択。
・外部名と説明:クラウドフロー側のコネクタで表示される名前と説明文。わかりやすい名前、説明文を入力(日本語も可)。
このようにして、8項目ぶんの入力変数8個を作成します。なお今回は、それぞれ次のような変数名にしました。
・会社名:CompanyName
・部署:Department
・役職:Position
・名前:Name
・住所:Address
・電話番号:Tel
・Email:Email
・日付:date
4. フローの作成
入力変数が用意できたら、左メニューにある「アクション」から利用したいアクションを選び、フローを作成していきます。
4-1. Excelの起動
今回はあらかじめ用意したExcelファイルにデータを書き込む(追記する)フローですので、最初は「Excelの起動」アクションを実行します。左メニューの「Excel」カテゴリにある「Excelの起動」アクションを選択し、フローデザイナーにドラッグアンドドロップします。
すると、アクションの設定画面が開きます。設定項目はそれぞれ次のようにします。
1. Excelの起動:「次のドキュメントを開く」を選択
2. ドキュメントパス:「1. 事前準備」で作成したExcelファイルのパスを指定
なお、下にある「読み取り専用として開く」スイッチをONにすると上書きができなくなるので、OFFのままにしておきます。上記の1と2を設定したら「保存」をクリックします。
フローデザイナーに「Excelの起動」アクションが追加され、上図のような表示になります。
4-2. 「Excelワークシートから最初の空の列や行を取得」アクションの追加
続いて、左メニューの「Excel」カテゴリから「Excelワークシートから最初の空の列や行を取得」アクションを選択し、フローデザイナーにドラッグ&ドロップしてワークフローに追加します。
先ほどと同じようにアクションの設定画面が表示されるので、次のように設定します。
1. Excelインスタンス:「Excelの起動」アクションの実行時に自動生成される変数「%ExcelInstance%」を選択
2. 生成された変数:「FirstFreeRow」だけをONに変更
上記の内容に変更したら「保存」をクリックします。
4-3. 「Excelワークシートから読み取る」アクションの追加
左メニューの「Excel」カテゴリから「Excelワークシートから読み取る」アクションを選択し、ワークフローに追加します。Excelの1行目には項目名が入っているため、2行目移行に順次書き込むように設定します。
1. Excelインスタンス:「%ExcelInstance%」を選択
2. 取得:「セル範囲の値」を選択
3. 先頭列:「1」と入力
4. 先頭行:「1」と入力
5. 最終列:項目が8つあるので「8」と入力
6. 最終行:空白行の1つ前の行を指定したいので「%FirstFreeRow-1%」と入力
なお「詳細」と「生成された変数」はデフォルト設定のままで大丈夫です。「生成された変数」の「%ExcelData%」には、セル範囲の値が入ります(今回だと項目数の「8」)。
上記の内容に変更できたら「保存」をクリックします。


この連載の記事
-
第55回
Team Leaders
フォルダーに入れるだけでPDFに自動変換! Power Automateの標準コネクタで実現する -
第54回
Team Leaders
Teamsで「👍」が付いたらPower Automateのフローを自動実行! そんな方法を教えます -
第53回
Team Leaders
Excelの画面上からPower Automateを実行! “自動化の入り口”にしよう -
第52回
Team Leaders
Microsoft Formsへの入力で、Power Automateフローを実行する! 実践的連携術 -
第51回
Team Leaders
Power Automateの「トリガーの条件」が便利! フローの繰り返し実行を細かく制御しよう -
第50回
Team Leaders
顧客ごとに異なる内容のメールを自動送信! Power Automateで柔軟なフローを実現 -
第49回
Team Leaders
Power Automateで自動作成したメール、Outlookに「下書き保存」するには? -
第48回
Team Leaders
Power Automateで「複数の承認ルート」対応の承認ワークフローを作ろう -
第47回
Team Leaders
「スイッチ」アクションで3種類以上の添付ファイルを自動分類/フォルダー保存する -
第46回
Team Leaders
SharePointリストとExcelを活用して、効率的な「お知らせメール」送信フローを作ろう -
第45回
Team Leaders
Power Automateで使える“2種類のExcel”、その使い分けを覚えよう - この連載の一覧へ












