社内勉強会にて、デスクトップ向けPower Automateを使ったツールを作成しました。
デスクトップ向けPower Automateは高額なライセンスや複雑なコーディングに頼らずに誰でもツールを作成できる事が特徴です。
今回は、例として、SharePointサイトのお知らせをExcelへエクスポートするツールを作成しましたので、その流れを解説します。
※ なお、SharePointサイトのお知らせをExcelへエクスポートする場合はPower Automateのクラウドフローを使っても実現可能ですが、今回は勉強のためにデスクトップ向けPower Automateを使っています。
デスクトップ向けPower Automateとは
デスクトップ向けPower Automate(Power Automate Desktop)はWindows 10/11をお使いであれば無料で使用できるアプリケーションです。
通常のPower Automateと異なり、ブラウザの起動など、デスクトップPCなどの操作も行う事が出来るのが特徴です。
フローの概要
実際に作成した「お知らせコンテンツの一覧を取得」のフローは、下記のとおりです。
- 新しいMicrosoft Edgeを起動する
- Webページからデータを抽出する
- Excelを起動する
- Excelワークシートに書き込む
- Excelを閉じる
- Webブラウザーを閉じる
事前準備
情報の抽出元となるSharePointのお知らせリストならびにExcelファイルの設定をご説明します。
SharePointサイトの作成
- [Microsoft 365](https://www.office.com/?auth=2)にアクセスします。
- 画面左部の[アプリ]を選択します。
- [すべてのアプリ]から[SharePoint]を選択します。
- 画面左上の[+サイトの作成]をクリックします。
- [新しいサイトの作成]にて[コミュニケーション サイト]を選択します。
- [サイト名]に任意の名前を入力し、[完了]をクリックします。
SharePointサイトの設定
タイムゾーンの変更
- 画面右上の[設定](歯車のアイコン)をクリックします。
- [サイトの管理] - [地域の設定]をクリックします。
- [タイム ゾーン]にて[(UTC+09:00) 大阪、札幌、東京]を選択し、[OK]をクリックします。
チームのグループ作業リストの有効化
- 対象のサイトにてお知らせリストを有効化するために実施します。
- 画面右上の[設定](歯車のアイコン)をクリックします。
- [サイトの操作] - [サイト機能の管理]をクリックします。
- [サイト機能の管理]の一覧にて[チームのグループ作業リスト]の[アクティブ化]をクリックし、[アクティブ]の状態に変更します。
SharePoint お知らせリストの作成
- 画面右上の[設定](歯車のアイコン)をクリックします。
- [アプリの追加]をクリックします。
- [アプリ名または発行元別に検索]に「お知らせ」と入力し、[Enter]キーを押下します。
- 「一致する結果が見つかりませんでした。カスタム リスト、ドキュメント ライブラリ、予定表などの組み込みアプリは 従来の環境 にあります。」というメッセージが表示されますので、青字部分の[従来の環境]をクリックします。
- [サイトコンテンツ] - [自分のアプリ]の一覧から[お知らせ]を選択します。
- リストの名前を入力し、[作成]をクリックします。
SharePoint お知らせリストの設定
列の追加
[+列の追加]をクリックし、以下の2種を追加します。
名前 |
適用開始日 |
列の情報の種類 |
日付と時刻 |
名前 |
発信部署 |
列の情報の種類 |
選択肢 |
選択肢の表示形式 |
ドロップダウンメニュー |
ビューの設定
- 画面右上の[設定](歯車のアイコン)をクリックします。
- [リストの設定]をクリックします。
- [ビュー] - [すべてのアイテム]をクリックします。
- [タイトル (編集メニュー付きのアイテムにリンク)]、[適用開始日]、[更新日時]、[発信部署]、[登録者]、[有効期限]の順になるように並び替えます。
- [OK]をクリックして保存します。
列の設定
- 画面右上の[設定](歯車のアイコン)をクリックします。
- [リストの設定]をクリックします。
- [列] - [列の順序]をクリックします。
- [タイトル]、[適用開始日]、[更新日時]、[発信部署]、[登録者]、[有効期限]の順になるよう並び替えます。
- [OK]をクリックして保存します。
クラシック表示への変更
- 画面右上の[設定](歯車のアイコン)をクリックします。
- [リストの設定]をクリックします。
- [全般設定] - [詳細設定]をクリックします。
- [リストの表示]にて[クラシック表示]を選択し、[OK]をクリックして保存します。
完成したお知らせリストは、下図のようになります。
※ リストの作成後、今回はテスト用のお知らせを複数追加しました
Excelファイルの作成
- [Excel]を起動します。
- 新規ファイルを開き、A1セルからE1セルまで順に[タイトル]、[適用開始日]、[発信部署]、[更新日時]、[URL]と入力します。
- [更新日時]列全体を選択します。
- [数値]タブにて[セルの書式設定]を開きます。
- 分類[日付] - [2012/3/14 13:30]を選択し、[OK]をクリックします。
- 名前を付けてファイルを保存します。今回はローカルに保存しましたが、Power Automateを使用するアカウントと同じアカウントを使用している場合はOneDriveでも問題ありません。
完成したExcelファイルは下図のようになります。
デスクトップ向けPower Automateでのツール作成
デスクトップ向けPower Automateアプリを使用したフローの作成手順をご説明します。
フローの作成
- デスクトップ向けPower Automateを起動します。
- 画面左上の[+新しいフロー]をクリックします。
- [フロー名]を入力し、[作成]ボタンをクリックします。
- フローの作成画面が起動します。
- 以降、左メニューの[アクション]より、実行したいアクションを[ここにはまだアクションがありません]と表示されているペインにドラッグアンドドロップで追加します。
新しいMicrosoft Edgeを起動
Webブラウザーを起動し、対象のWebページへアクセスするアクションです。
- [アクション] - [ブラウザー自動化] - [Webフォーム入力] - [新しいMicrosoft Edgeを起動] を追加します。
- 下記のとおり設定し、[保存]ボタンをクリックします。下記3点以外はデフォルト値です。
起動モード |
新しいインスタンスを起動する |
初期URL |
お知らせページのURL |
ウィンドウの状態 |
最大化 |
Webページからデータを抽出する
対象のWebページより、データを抽出するアクションです。データの設定は、リダイレクトされたWebページ上で行います。
[アクション] - [ブラウザー自動化] - [Webデータ抽出] - [Webページからデータを抽出する]を選択し、下記のとおり設定します。
Webブラウザーインスタンス |
%Browser%(変数) |
タイムアウト |
60 |
データ保存モード |
編集 |
抽出するデータを選択
本手順の実施前にMicrosoft EdgeへMicrosoft Power Automateの拡張機能をインストールし、オンにする必要があります。
- Microsoft Edgeにて[新しいMicrosoft Edgeを起動]で起動させた初期URLのページを開きます。
- ライブWebヘルパーが起動します。
- 最新のアイテムのタイトル列にカーソルを合わせ、[Table data cell]となったら右クリックします。
- [要素の値を抽出] → [テキスト]を選択します。
- 同ページ内最下部のアイテムのタイトル列を右クリックで選択し、[要素の値を抽出] → [テキスト]を選択します。
- ライブWebヘルパーの抽出プレビューにてタイトル列が取得できていることを確認します。
- 最新のアイテムの[適用開始日]列を右クリックし、[要素の値を抽出] → [テキスト]を選択します。
- [発信部署]、[更新日時]に対し、7と同様の作業を行います。
- 最新のアイテムのタイトル列にカーソルを合わせ、[Anchor]となったら右クリックします。
- ポータルのタイトルを右クリックし、[要素の値を抽出] → [Href]を選択します。
- 抽出プレビューにて、選択した項目がテーブル形式で読み込まれていることを確認し、[終了]ボタンをクリックします。
Webページからデータを抽出するアクションを保存する
Power Automateの画面に戻り、[Webページからデータを抽出する]アクションを[保存]ボタンで閉じます。
Excelの起動
抽出したデータを転記するExcelファイルを起動するアクションです。本手順では、ユーザー個人のOneDriveを指定しています。
[アクション] - [Excel] - [詳細] - [Excelの起動]を選択し、下記のとおり設定します。
Excelの起動 |
次のドキュメントを開く |
ドキュメントパス |
書き込み用のExcelファイルを保管したフォルダパスを指定 |
インスタンスを表示する |
○ |
読み取り専用として開く |
× |
Excelワークシートに書き込む
起動したExcelファイルにデータを書き込むアクションです。
[アクション] - [Excel] - [詳細] - [Excelワークシートに書き込む]を選択し、下記のとおり設定します。
Excelインスタンス |
%ExcelInstance% |
書き込む値 |
%DataFromWebPage% |
書き込みモード |
指定したセルの上 |
列 |
a |
行 |
2 |
Excelの保存
データを書きこんだExcelを保存するアクションです。
本手順ではExcelファイルを終了しないため、保存後のファイルは開いたままとなります。
[アクション] - [Excel] - [詳細] - [Excelの保存]を選択し、下記のとおり設定します。
Excelインスタンス |
%ExcelInstance% |
保存モード |
ドキュメントを保存 |
Webブラウザーを閉じる
データの抽出に使用したWebブラウザーを閉じるアクションです。
[アクション] - [ブラウザー自動化] - [Webフォーム入力] - [Webブラウザーを閉じる]を選択し、下記のとおり設定します。
Webブラウザーインスタンス |
%Browser% |
フローを保存する
画面左上の[保存]ボタンをクリックします。
完成したフローは下図のとおりです。
フローを実行する
- Power Automateを起動します。
- フローの一覧にて作成したフローを選択し、[実行]をクリックします。
フローを実行すると、指定したExcelファイルにお知らせリストの値が書き込まれます。
おわりに
今回作成したフローは、プレミアム機能の追加契約や複雑なコーディングなどが必要なく、Power Automate Windowsアプリケーションのアクションのみで作成可能です。
各アクションで指定する値など、初めてツールを作成する際には戸惑う箇所もありますが、「この作業、自動化できないかな?」と思ったときに、実際に作ってみることができる点が、デスクトップ向けPower Automateの良さだと感じました。
日々の業務の効率化にも積極的に活用していきたいと思います。