7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Power Automate for desktop(RPA)を使ってローカルのExcelに自動で情報を書き込む

Last updated at Posted at 2022-08-03

こんにちわ、 のりじ です。

今回は、Power Automateのクラウドフロー(DPA)+AI Builder+デスクトップフロー(RPA)を利用して、名刺画像をOneDriveの指定フォルダーに置いたらAI Builderで画像の文字を読み取り、結果をローカルPCのExcelファイルに記載する仕組みを作りたいと思います。
本記事は、まずはPower Automate for desktopのフロー作成についてです。

0. 事前準備

pad0803-000.jpg
事前に図のようなExcelファイルをローカルに作成しておきます。
今回は名刺の内容を記載していきたいので、Excelファイルの項目は以下の内容にします。

  • 登録日
  • 会社名
  • 部署
  • 役職
  • 名前
  • 住所
  • 電話番号
  • Email

1. 作成するフロー全体図

pad0803-001.jpg
Power Automate for desktopで作成するフローはこのような形です。

2. 入力変数の準備

pad0803-002.jpg

クラウドフローから渡される内容を受け取るために「入力変数」の準備をします。
入力変数の「入力」をクリック。
今回はAI Builderで読み取った内容を受け取るので、AIモデルで抽出するフィールドの名前を参考に新規の入力変数を作成していきます。

  • 会社名:CompanyName
  • 部署:Department
  • 役職:Position
  • 名前:Name
  • 住所:Address
  • 電話番号:Tel
  • Email:Email
  • 日付:date

pad0803-003.jpg

  1. 変数名:Power Automate for desktopで利用する変数(半角英数)
  2. 外部名、説明:クラウドフローのコネクタで表示される部分なので、わかりやすい名前で(日本語可)

全部で8個、入力変数を作成します。

3. フローの作成

デスクトップ版のPower Automate for desktopを起動し「新しいフロー」を作成します。

3-1. Excelの起動

左メニューの「Excel」から「Excelの起動」アクションを選択します。
(アクションからフローデザイナーにドラッグアンドドロップ)

pad0803-004.jpg

「全般」の内容を図のように入力します。
今回は「0. 事前準備」で作成したExcelファイルを利用するので「ドキュメントパス」は作成したExcelファイルを指定。
「読み取り専用」はオフにしておきます。(上書き保存できなくなるため)

3-2. Excelワークシートから最初の空の列や行を取得

左メニューの「Excel」から「Excelワークシートから最初の空の列や行を取得」アクションを選択します。

pad0803-005.jpg

  1. Excelインスタンス:「Excelの起動」で自動生成された変数「%ExcelInstance%」を選択
  2. 生成された変数:「FirstFreeRow」だけをオンに変更

3-3. Excelワークシートから読み取る

左メニューの「Excel」から「Excelワークシートから読み取る」アクションを選択します。
この部分で2行目以降に内容を順次書き込むように設定していきます。(1行目は項目が入っているため)

pad0803-006.jpg

  1. Excelインスタンス:「%ExcelInstance%」を選択
  2. 取得:「セル範囲の値」を選択
  3. 先頭列:「1」と入力
  4. 先頭行:「1」と入力
  5. 最終列:8個項目があるので「8」と入力
  6. 最終行:空白の行の一つ前を指定したいので「%FirstFreeRow-1%」と入力

「詳細」と「生成された変数」のところはデフォルト設定のままで大丈夫です。
「生成された変数」の「%ExcelData%」には、セル範囲の値が入ります。(今回だと8)

3-4. For each(ループ)

左メニューの「ループ」から「For each」アクションを選択します。

pad0803-007.jpg

「Excelワークシートから読み取る」アクションで生成された変数「%ExcelData%」には項目の値が入っているので選択します。
これで8回処理がループします。

3-5. Excelワークシートに書き込む

左メニューの「Excel」から「Excelワークシートに書き込む」アクションを選択し、For eachとEndの間にアクションを入れていきます。

pad0803-009.jpg

最初に1列目の「登録日」を入力するアクションを作成します。
それぞれの項目にあう列番号を入力していきます。

pad0803-008.jpg

  1. Excelインスタンス:「%ExcelInstance%」を選択
  2. 書き込む値:「2. 入力変数の準備」で準備した変数の中から「%date%」を選択
  3. 書き込みモード:「指定したセル上」を選択
  4. 列:1列目の「登録日」なので「1」を入力
  5. 行:空白の行に書き込むため「%FirstFreeRow%」を入力

これを8項目分作成します。

3-6. Excelを閉じる

左メニューの「Excel」から「Excelを閉じる」アクションを選択します。

pad0803-010.jpg

  1. Excelインスタンス:「%ExcelInstance%」を選択
  2. Excelを閉じる前:同一ファイルに順次書き込みを行っていきたいので「名前を付けてドキュメントを保存」を選択
  3. ドキュメント形式:「既定(拡張機能から)」を選択
  4. ドキュメントパス:今回は「0. 事前準備」で作成したExcelファイルを指定

以上でフローが完成したので、忘れずに「保存」します。

4. さいごに

これでデスクトップフロー(Power Automate for desktop)の準備ができました。
次はクラウドフローの作成を行いますが、それは別の記事で!

5. 参考

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?