shikumika’s diary

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

【Power Automate】Webページにファイルをアップロード(kintoneの事例)

Power Automate Desktopで、Webページにファイルをアップロードする自動化事例です。kintoneを題材に、「添付ファイル」フィールドに指定のExcelファイルを保存します。

内容:

なお、動作確認で使用のツールは次のとおり。

Power Automate Desktop(バージョン 2.42.317.24061)

Microsoft Edge (バージョン 122.0.2365.92)

事例の前提

Webページにファイルをアップロードする対象のkintoneの入力ページは次のとおり。

「添付ファイル」フィールドに“参照”のリンクがあり、ファイルを指定できる仕様。

「添付ファイル」フィールドに“参照”のリンクがあり、ファイル登録をする仕様

kintoneの「添付ファイル」フィールド

「添付ファイル」フィールドの”参照”のリンクをクリックすると、次のようなファイル選択可能なウインドウが表示される。

登録したいファイルを指定できる画面が起動する

ファイル選択の画面イメージ

アウトプットイメージ

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

入力ページ(レコード登録のページ)を表示、「添付ファイル」フィールドの“参照”のリンクをクリック、ファイルを登録するアクションフローで、動作安定を目的に「Wait」アクションで1秒待機を含めている。

Webページの「参照のリンク」をクリック、ファイルを登録するアクションフロー

Webページにファイルをアップロードの設定例

なお、事例のkintoneの場合、事前にログインが必要であるが、説明簡略のためログイン状態でのフローで説明する。

ログイン等の自動化が必要な場合や、初めてPower Automate DesktopでWeb操作をする場合は、以下を参考にする。

shikumika.org

設定手順

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

Power Automate Desktopの編集画面で、画面左側にある「ブラウザ自動化」メニューの中から「新しいMicrosoft Edgeを起動」アクションを追加する。

入力ページは、kintoneで該当ページの「レコードを追加する」をクリックした時のURL(例:https://●●●●●●/●/edit)を設定する。

2.「添付ファイル」フィールドの”参照”をクリック

Power Automate Desktopの編集画面の左側にあるアクションメニューから「ブラウザ自動化」-「Webページのリンクをクリック」アクションを追加する。

UI要素に”参照”のリンクを設定している

「Webページのリンクをクリック」(UI要素を設定後)

なお、この事例でUI要素の指定例は次のとおり。

「UI要素ピッカー」による自動設定で作成された正規表現を用いている。

input[Id@="^p1hp(.*)_html5$"]

自動設定で正規表現を用いたセレクターが作成されている

「添付ファイル」フィールドの“参照”のセレクター例

3.ファイル選択画面でファイル名を指定

(1)「ウィンドウ内のテキストフィールドに入力する」アクションの追加

Power Automate Desktopの編集画面の左側にあるアクションメニューから「UIオートメーション」-「フォーム入力」ー「ウィンドウ内のテキストフィールドに入力する」アクションを追加する。

冒頭の「事例の前提」のとおり、この事例でファイル選択画面は、Webページではなく、Windowsのウィンドウが表示されている。

ファイル名の欄には設定簡略化のため、フルパスで指定する。

例) "E:\テスト\サンプルA.xlsx"

ファイル名をフルパスで指定。事例では"E:\テスト\サンプルA.xlsx"としている

「ウィンドウ内のテキストフィールドに入力する」(UI要素を設定後)

なお、この事例で「ファイル選択画面」ファイル名欄のUI要素の指定例は次のとおり。

「UI要素ピッカー」による自動設定で作成されたセレクターを用いて次のようにしている。

  > window[Class="#32770"][Name="開く"] > combobox[Name="ファイル名(N):"] > edit[Name="ファイル名(N):"]

セレクター:> window[Class="#32770"][Name="開く"] > combobox[Name="ファイル名(N):"] > edit[Name="ファイル名(N):"]

「ファイル選択画面」ファイル名欄のセレクター例
 window[Class="#32770"]の補足

 window[Class="#32770"]は、以下でダイアログ ボックスのクラスとなっていた。

learn.microsoft.com

(2)「ウィンドウ内のボタンを押す」アクションの追加

「ファイル選択画面」の"開く"をクリックするため、Power Automate Desktopの編集画面の左側にあるアクションメニューから「UIオートメーション」-「フォーム入力」ー「ウィンドウ内のボタンを押す」アクションを追加する。

「ウィンドウ内のボタンを押す」の設定イメージ

「ウィンドウ内のボタンを押す」(UI要素を設定後)

この事例で「ファイル選択画面」開くボタンのUI要素の指定例は次のとおり。

 > window[Class="#32770"][Name="開く"] > button[Class="Button"][Name="開く(O)"]

 

4.ファイル選択をWebページに反映させるため待機

今回の事例では、「ファイル選択画面」で指定したファイルをWebページに反映する前に次の処理が実行され、期待する動作にならなかった。

そのため、動作安定のためにWaitアクションを追加して1秒待機する処理にした。

shikumika.org

5.Webページの「保存」ボタンのクリック

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

 

上記の設定で、kintoneの「添付ファイル」フィールドに指定のExcelファイルを保存できました。

以上、Power Automate Desktopで、Webページにファイルをアップロードする自動化事例でした。