Power Automate Desktopで、Excelのセルの値をWebページに入力、保存する方法の事例です。Excelのデータなどを利用しているクラウドシステムに転記したいケースです。
内容:
事例の前提
ExcelのデータをWebサービス(kintone)に入力、保存します。
kintoneの場合は環境(ライセンスやユーザー権限等)によってはAPIを利用することが可能ですので、API等が利用できないユーザーでの事例です。
この事例で転記元となるExcelのファイルは、次のようなリスト形式のデータです。
ただし、処理の基本例としてセルD2の値のみ転記する事例で、ループ処理はしません。
なお、確認したツールは次のとおりです。
Power Automate Desktop(バージョン 2.41.170.24032)
Microsoft Edge (バージョン 121.0.2277.128)
アウトプットイメージ
この事例のPower Automate Desktopの設定イメージは次のとおりです。
Webの表示、ログイン、Excelの起動、転記、保存のアクションでデータを登録します。
設定手順
1.Microsoft Edgeを起動、入力ページの表示
Microsoft Edgeを起動、ログインして入力ページの表示まで(前述の設定イメージで、アクションの1~4)は、以下と同様に設定する。
なお、今回の事例のkintoneは、入力ページを直接開いたとき、未ログインであればログインページが表示され、ログイン後に入力ページにリダイレクトされる仕様。
上記の「新しいMicrosoft Edgeを起動」アクションの設定で、初期URLは入力ページを設定しておくと、設定手順が省略できる。
具体的には、ログインページではなく、kintoneで該当ページの「レコードを追加する」をクリックした時のURL(例:https://●●●●●●/●/edit)を設定する。
2.Excelの起動
Power Automate Desktopの画面左側にある「Excel」メニューの中にある「Excelの起動」アクションを追加する。設定で、ドキュメントパスに転記元のExcelを指定する。
3.Excelワークシートから読み取る
画面左側にある「Excel」メニューの中にある「Excelワークシートから読み取る」アクションを追加する。
今回の事例は、ExcelのセルD2の値のみ抽出する方法であるが、複数の値を今後転記することに備え、次のように設定している。取得範囲等は用途に応じて修正する。
取得:セル範囲の値
先頭列:1、先頭行:2、最終列:5、最終行:5
生成された変数:ExcelData
4.Webページ内のテキストフィールドに入力する
画面左側にある「ブラウザ自動化」メニューの中から「Webフォーム入力」‐「Webページ内のテキストフィールドに入力する」アクションを追加する。
アクションを追加すると、UI要素が空欄の設定画面が起動する。
「UI要素の追加」を上述「1.Microsoft Edgeを起動、入力ページの表示」のログインの自動化と同様に実施する。
なお、以下は「UI要素ピッカー」が起動し、入力ページの「Input Text」の要素の取得イメージ。
「Webページ内のテキストフィールドに入力する」アクションの設定後のイメージは次のとおり。値は、%ExcelData[0][3]%としている。
上記「3.Excelワークシートから読み取る」で生成された変数で、1行目の4列名に該当する値(行列の開始番号が0であるため)である。
5.Webページのボタンを押します(保存のクリック)
画面左側にある「Webフォーム入力」メニューの中から「Webページのボタンを押します」アクションを追加する。
前述手順と同様に「保存」ボタンのUI要素を追加する。
以上で基本の設定完了です。ただし、実行すると「セレクター '○○○' を含むフォーム フィールドが見つかりません」というエラーになることがあります。
その場合は、次の対応等をします。
エラー対応例
「セレクター '○○○' を含むフォーム フィールドが見つかりません」というエラーが発生している場合、UI要素のセレクターを設定した時と、稼働時のUI要素にズレがある可能性があります。
UI要素の修正で、稼働時のUI要素と一致するように修正します。
どのように修正可能かは当該のWebページ次第ですが、今回の事例ではIdの値を部分一致(数値部分だけに変更)で動作するようになりました。
UI要素の修正例は、改めて記載したいと思います。
参考情報
転記のループ処理等については、以下の事例のようにすることは可能です。
ただし、Power AutomateなどRPAによる自動化は、あまり複雑な処理とならないようにし、メンテナンス可能な単純なフロー範囲での運用が良いと思います。
以上、Power Automate Desktopで、Excelのセルの値をWebページに入力、保存する方法の事例でした。