Power Automate Desktop 基本的な自動操作(Excelの内容をフォームに自動入力)

2021年6月9日

今回の例では特定のフォルダに保存した複数のExcelファイルの内容を

Webフォームに自動送信します。(Excelファイルの数だけフォームを送信します)

フォーマットの決まったExcelを同じフォルダに保存し、

フォームに送信した後、B5セルに「登録済み」と書き込みます。

フォームはこれまでと同じものを利用します。(UiPath用を流用)

自動操作だけでなく、条件ループなども活用します。

(全て記述すると長くなりすぎるため、これまでの記事で書いた細かい手順は省略します)

フローの構造

サブフローを利用します。重複する部分はありませんが、

名前を付けられる部分を一まとめにすることで

フローを管理しやすく、読みやすくするためです。

Mainフロー

指定フォルダーにあるファイルの分、ループして

Excelの内容を取得するとReadExcelサブフローと

Webフォームに送信するWebFormSubmitサブフローを呼び出し、

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

Excelの内容を取得(ReadExcelサブフロー)

Excelを起動して内容を変数に保存し、最後に登録済みを記入して閉じます。

呼び出されるたびに対象のExcelブックが変わります。(変数CurrentItem)

Webフォームに送信(WebFormSubmitサブフロー)

Excelファイルから取り込んだ内容をWebフォームに入力して送信ボタンをクリックします。

アクションのパラメータ設定

今回は生成された変数は変数名を変えずに初期設定のままで設定します。

Mainフロー

フォルダー内のファイルを取得アクション

「フォルダー」の中のアクションです。

「フォルダー」にExcelファイルを保存するフォルダーを指定します。

これだけで機能しますが、Excelファイル以外も入る可能性がある場合は

必要に応じて「ファイル フィルター」で対象をExcelのみに絞ると良いでしょう。

「生成された変数」にはファイルの一覧がリストで格納されます。

保存するとフロー上では次のようになります。

For eachアクション

「ループ」の中の「For each」アクションです。

「反復処理を行う値」にフォルダー内のファイルを取得アクションで生成された変数を指定します。

生成された変数「CurrentItem」には、ループのその時のExcelファイルが格納されます。

サブフローの実行アクション

フローが空の状態のReadExcelとWebFormSubmitサブフローを作成してから

「For each」アクションの中に「フリーコントロール」の「サブフローの実行」を二つ配置します。

ReadExcelとWebFormSubmitの順で実行します。

保存するとFor eachと共にフロー上では次のようになります。

メッセージを表示アクション

「メッセージボックスのタイトル」と「表示するメッセージ」に

任意の文字列を指定します。

「メッセージボックスを常に手前に表示する」をONにすると

完了に気付きやすくなります。(邪魔になる場合はOFF設定)

保存するとフロー上では次のようになります。

ReadExcelサブフロー

Excelの起動アクション

「Excel」の中の「Excelの起動」アクションです。

次のようにパラメータを設定します。

パラメータ設定値説明
Excelの起動次のドキュメントを開く既存ファイルを開く設定です。
ドキュメント パス%CurrentItem%For eachアクションで生成された変数です。
インスタンスを表示するOFFテスト中はONでも良いですが、
最終的には動きの速くなるOFF推奨です。

保存するとフロー上では次のようになります。

Excelワークシートから読み取りアクション

「Excel」の中の「Excelワークシートから読み取り」アクションです。

取り込む項目の数だけアクションを設置します。

どの項目にも共通して以下のようにパラメータを設定します。

パラメータ設定値説明
Excel インスタンス%ExcelInstance%Excelの起動で生成された変数です。
取得単一のセルの値
先頭列2

個々の項目では以下のように設定します。

項目パラメータ:先頭行パラメータ:生成された変数名
お名前1name
都道府県2city
性別3gender
希望4mail_magazine

保存するとフロー上では次のようになります。

Excelワークシートに書き込みアクション

「Excel」の中の「Excelワークシートに書き込み」アクションです。

次のようにパラメータを設定します。

パラメータ設定値説明
Excel インスタンス%ExcelInstance%Excelの起動で生成された変数です。
書き込む値登録済み
書き込みモード指定したセル上
2書き込むセルの列番号です。
5書き込むセルの行番号です。

保存するとフロー上では次のようになります。

Excelを閉じるアクション

「Excel」の中の「Excelを閉じる」アクションです。

次のようにパラメータを設定します。

パラメータ設定値説明
Excel インスタンス%ExcelInstance%Excelの起動で生成された変数です。
Excel を閉じる前ドキュメントを保存

保存するとフロー上では次のようになります。

WebFormSubmitサブフロー

新しいブラウザーを起動するアクション

「Webオートメーション」の中の「新しいブラウザーを起動する」アクションです。

拡張機能のインストールした任意のブラウザを選択し、次のようにパラメータを設定します。

パラメータ設定値
起動モード新しいインスタンスを起動する
初期URLhttps://blog-tips.sekenkodqx.jp/2019/09/25/uipath-test00004/

保存するとフロー上では次のようになります。

Web ページ内のテキスト フィールドに入力するアクション

「Webオートメーション」の中の「Web ページ内のテキスト フィールドに入力する」アクションです。

次のようにパラメータを設定します。

パラメータ設定値説明
Web ブラウザー インスタンス%Browser%ブラウザーの起動で生成された変数です。
UI 要素お名前欄のUI 要素UI指定でテキストフィールドを指定します。
画像に alt 属性が指定されていません。ファイル名: image-221.png
テキスト%name%Excelから取得した名前を格納した変数です。

保存するとフロー上では次のようになります。

Web ページでドロップダウンリストの値を設定しますアクション

「Webオートメーション」の中の「Web ページでドロップダウンリストの値を設定します」アクションです。

次のようにパラメータを設定します。

パラメータ設定値説明
Web ブラウザー インスタンス%Browser%ブラウザーの起動で生成された変数です。
UI 要素都道府県のUI 要素UI指定でドロップダウンリストを指定します。
画像に alt 属性が指定されていません。ファイル名: image-222.png
操作名前を使ってオプションを設定します。
オプション名%city%Excelから取得した都道府県を格納した変数です。

保存するとフロー上では次のようになります。

Switch-Case-Default caseアクション

「条件」より「Switch」を設置し、

その中に「Case」を二つ、「Default case」を設置します。

そして「Switch」には次のように設定します。

パラメータ設定値説明
チェックする値%gender%Excelから取得した性別を格納した変数です。

一つ目の「Case」には次のように指定します。

パラメータ設定値
演算子と等しい(=)
比較する値女性
パラメータ設定値
演算子と等しい(=)
比較する値男性

「Default case」には何も設定しません。

それぞれを保存するとフロー上では次のようになります。

Web ページでラジオ ボタンの状態を設定しますアクション

「Webオートメーション」の中の「Web ページでラジオ ボタンの状態を設定します」アクションです。

女性のCaseの下に女性のラジオボタン用、男性のCaseの下に男性のラジオボタン用、

Default caseの下に回答しない用のアクションを設置します。

女性用(Case=’女性’)は次のようにパラメータを設定します。

パラメータ設定値説明
Web ブラウザー インスタンス%Browser%ブラウザーの起動で生成された変数です。
UI 要素女性のUI 要素UI指定でドロップダウンリストを指定します。
画像に alt 属性が指定されていません。ファイル名: image-312.png

男性用(Case=’男性’)は次のようにパラメータを設定します。

パラメータ設定値説明
Web ブラウザー インスタンス%Browser%ブラウザーの起動で生成された変数です。
UI 要素男性のUI 要素UI指定でドロップダウンリストを指定します。
画像に alt 属性が指定されていません。ファイル名: image-313.png

回答しない用(Default case)は次のようにパラメータを設定します。

パラメータ設定値説明
Web ブラウザー インスタンス%Browser%ブラウザーの起動で生成された変数です。
UI 要素回答しないのUI 要素UI指定でドロップダウンリストを指定します。
画像に alt 属性が指定されていません。ファイル名: image-314.png

保存するとフロー上では次のようになります。

If-Elseアクション

「条件」より「If」を設置し、その中に「Else」を設置します。

そして「If」には次のように設定します。

パラメータ設定値説明
最初のオペランド%mail_magazine%Excelから取得した送信希望を格納した変数です。
演算子と等しい(=)
2番目のオペランドする

保存するとフロー上では次のようになります。

Web ページでチェック ボックスの状態を設定しますアクション

「Webオートメーション」の中の「Web ページでチェック ボックスの状態を設定します」アクションです。

「If」の下と「Else」の下に、それぞれ一つずつ設置します。

希望する(If)は次のようにパラメータを設定します。

パラメータ設定値説明
Web ブラウザー インスタンス%Browser%ブラウザーの起動で生成された変数です。
UI 要素回答しないのUI 要素UI指定でチェックボックスを指定します。
画像に alt 属性が指定されていません。ファイル名: image-243.png
チェックボックスの状態オン

希望する(Else)は次のようにパラメータを設定します。

パラメータ設定値説明
Web ブラウザー インスタンス%Browser%ブラウザーの起動で生成された変数です。
UI 要素回答しないのUI 要素UI指定でチェックボックスを指定します。
画像に alt 属性が指定されていません。ファイル名: image-243.png
チェックボックスの状態オフ

保存するとフロー上では次のようになります。

Web ページのボタンを押しますアクション

「Webオートメーション」の中の「Web ページのボタンを押します」アクションです。

パラメータ設定値説明
Web ブラウザー インスタンス%Browser%ブラウザーの起動で生成された変数です。
UI 要素送信ボタンのUI 要素UI指定でチェックボックスを指定します。
画像に alt 属性が指定されていません。ファイル名: image-247.png

保存するとフロー上では次のようになります。

Web ブラウザーを閉じるアクション

「Webオートメーション」の中の「Web ブラウザーを閉じる」アクションです。

パラメータ設定値説明
Web ブラウザー インスタンス%Browser%ブラウザーの起動で生成された変数です。

保存するとフロー上では次のようになります。

フロー作成はこれで終了です。

定型フォーマットのExcelを指定フォルダにおいてフローを実行すると

ファイルの数だけメールフォームを自動送信します。

関連記事

初心者向けの記事一覧