shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Power Automate】Excelのセルの値をWebページに入力、保存

Power Automate Desktopで、Excelのセルの値をWebページに入力、保存する方法の事例です。Excelのデータなどを利用しているクラウドシステムに転記したいケースです。

内容:

事例の前提

ExcelのデータをWebサービス(kintone)に入力、保存します。

kintoneの場合は環境(ライセンスやユーザー権限等)によってはAPIを利用することが可能ですので、API等が利用できないユーザーでの事例です。

この事例で転記元となるExcelのファイルは、次のようなリスト形式のデータです。

ただし、処理の基本例としてセルD2の値のみ転記する事例で、ループ処理はしません。

リスト形式のデータでA1からE6の範囲に値が入力されている

転記元のExcelファイルのイメージ

なお、確認したツールは次のとおりです。

Power Automate Desktop(バージョン 2.41.170.24032)

Microsoft Edge (バージョン 121.0.2277.128)

アウトプットイメージ

この事例のPower Automate Desktopの設定イメージは次のとおりです。

Webの表示、ログイン、Excelの起動、転記、保存のアクションでデータを登録します。

Excelの起動、Webの表示、転記、保存のアクションがある

Excelの値をWebに転記の設定イメージ

設定手順

1.Microsoft Edgeを起動、入力ページの表示

Microsoft Edgeを起動、ログインして入力ページの表示まで(前述の設定イメージで、アクションの1~4)は、以下と同様に設定する。

shikumika.org

なお、今回の事例のkintoneは、入力ページを直接開いたとき、未ログインであればログインページが表示され、ログイン後に入力ページにリダイレクトされる仕様。

上記の「新しいMicrosoft Edgeを起動」アクションの設定で、初期URLは入力ページを設定しておくと、設定手順が省略できる。

具体的には、ログインページではなく、kintoneで該当ページの「レコードを追加する」をクリックした時のURL(例:https://●●●●●●/●/edit)を設定する。

2.Excelの起動

Power Automate Desktopの画面左側にある「Excel」メニューの中にある「Excelの起動」アクションを追加する。設定で、ドキュメントパスに転記元のExcelを指定する。

ドキュメントパスに転記元のExcelファイルを指定

「Excelの起動」アクションの設定例
3.Excelワークシートから読み取る

画面左側にある「Excel」メニューの中にある「Excelワークシートから読み取る」アクションを追加する。

今回の事例は、ExcelのセルD2の値のみ抽出する方法であるが、複数の値を今後転記することに備え、次のように設定している。取得範囲等は用途に応じて修正する。

取得:セル範囲の値

先頭列:1、先頭行:2、最終列:5、最終行:5

生成された変数:ExcelData

セル範囲の値を取得で、列と行の範囲を指定している

「Excelワークシートから読み取る」アクションの設定例
4.Webページ内のテキストフィールドに入力する

画面左側にある「ブラウザ自動化」メニューの中から「Webフォーム入力」‐「Webページ内のテキストフィールドに入力する」アクションを追加する。

アクションを追加すると、UI要素が空欄の設定画面が起動する。

UI要素が空欄の設定画面が起動する

「Webページ内のテキストフィールドに入力する」の設定画面

「UI要素の追加」を上述「1.Microsoft Edgeを起動、入力ページの表示」のログインの自動化と同様に実施する。

なお、以下は「UI要素ピッカー」が起動し、入力ページの「Input Text」の要素の取得イメージ。

Input Textの要素を取得している

UI要素ピッカーで、入力ページからUI要素を取得イメージ

「Webページ内のテキストフィールドに入力する」アクションの設定後のイメージは次のとおり。値は、%ExcelData[0][3]%としている。

上記「3.Excelワークシートから読み取る」で生成された変数で、1行目の4列名に該当する値(行列の開始番号が0であるため)である。

値は、%ExcelData[0][3]% としている

「Webページ内のテキストフィールドに入力する」アクションの設定後
5.Webページのボタンを押します(保存のクリック)

画面左側にある「Webフォーム入力」メニューの中から「Webページのボタンを押します」アクションを追加する。

前述手順と同様に「保存」ボタンのUI要素を追加する。

 

以上で基本の設定完了です。ただし、実行すると「セレクター '○○○' を含むフォーム フィールドが見つかりません」というエラーになることがあります。

その場合は、次の対応等をします。

エラー対応例

「セレクター '○○○' を含むフォーム フィールドが見つかりません」というエラーが発生している場合、UI要素のセレクターを設定した時と、稼働時のUI要素にズレがある可能性があります。

UI要素の修正で、稼働時のUI要素と一致するように修正します。

どのように修正可能かは当該のWebページ次第ですが、今回の事例ではIdの値を部分一致(数値部分だけに変更)で動作するようになりました。

完全一致を部分一致に修正している

UI要素の修正例

UI要素の修正例は、改めて記載したいと思います。

参考情報

転記のループ処理等については、以下の事例のようにすることは可能です。

ただし、Power AutomateなどRPAによる自動化は、あまり複雑な処理とならないようにし、メンテナンス可能な単純なフロー範囲での運用が良いと思います。

shikumika.org

以上、Power Automate Desktopで、Excelのセルの値をWebページに入力、保存する方法の事例でした。