デスクトップ向けPower AutomateでSharePointのお知らせをExcelへエクスポートする

社内勉強会にて、デスクトップ向け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などの操作も行う事が出来るのが特徴です。

powerautomate.microsoft.com

フローの概要

実際に作成した「お知らせコンテンツの一覧を取得」のフローは、下記のとおりです。

  1. 新しいMicrosoft Edgeを起動する
  2. Webページからデータを抽出する
  3. Excelを起動する
  4. Excelワークシートに書き込む
  5. Excelを閉じる
  6. Webブラウザーを閉じる

事前準備

情報の抽出元となるSharePointのお知らせリストならびにExcelファイルの設定をご説明します。

SharePointサイトの作成

  1. [Microsoft 365](https://www.office.com/?auth=2)にアクセスします。
  2. 画面左部の[アプリ]を選択します。
  3. [すべてのアプリ]から[SharePoint]を選択します。
  4. 画面左上の[+サイトの作成]をクリックします。
  5. [新しいサイトの作成]にて[コミュニケーション サイト]を選択します。
  6. [サイト名]に任意の名前を入力し、[完了]をクリックします。

SharePointサイトの設定

タイムゾーンの変更
  1. 画面右上の[設定](歯車のアイコン)をクリックします。
  2. [サイトの管理] - [地域の設定]をクリックします。
  3. [タイム ゾーン]にて[(UTC+09:00) 大阪、札幌、東京]を選択し、[OK]をクリックします。
チームのグループ作業リストの有効化
  1. 対象のサイトにてお知らせリストを有効化するために実施します。
  2. 画面右上の[設定](歯車のアイコン)をクリックします。
  3. [サイトの操作] - [サイト機能の管理]をクリックします。
  4. [サイト機能の管理]の一覧にて[チームのグループ作業リスト]の[アクティブ化]をクリックし、[アクティブ]の状態に変更します。

SharePoint お知らせリストの作成

  1. 画面右上の[設定](歯車のアイコン)をクリックします。
  2. [アプリの追加]をクリックします。
  3. [アプリ名または発行元別に検索]に「お知らせ」と入力し、[Enter]キーを押下します。
  4. 「一致する結果が見つかりませんでした。カスタム リスト、ドキュメント ライブラリ、予定表などの組み込みアプリは 従来の環境 にあります。」というメッセージが表示されますので、青字部分の[従来の環境]をクリックします。
  5. [サイトコンテンツ] - [自分のアプリ]の一覧から[お知らせ]を選択します。
  6. リストの名前を入力し、[作成]をクリックします。

SharePoint お知らせリストの設定

列の追加

[+列の追加]をクリックし、以下の2種を追加します。

名前

適用開始日

列の情報の種類

日付と時刻

名前

発信部署

列の情報の種類

選択肢

選択肢の表示形式

ドロップダウンメニュー

ビューの設定
  1. 画面右上の[設定](歯車のアイコン)をクリックします。
  2. [リストの設定]をクリックします。
  3. [ビュー] - [すべてのアイテム]をクリックします。
  4. [タイトル (編集メニュー付きのアイテムにリンク)]、[適用開始日]、[更新日時]、[発信部署]、[登録者]、[有効期限]の順になるように並び替えます。
  5. [OK]をクリックして保存します。
列の設定
  1. 画面右上の[設定](歯車のアイコン)をクリックします。
  2. [リストの設定]をクリックします。
  3. [列] - [列の順序]をクリックします。
  4. [タイトル]、[適用開始日]、[更新日時]、[発信部署]、[登録者]、[有効期限]の順になるよう並び替えます。
  5. [OK]をクリックして保存します。
クラシック表示への変更
  1. 画面右上の[設定](歯車のアイコン)をクリックします。
  2. [リストの設定]をクリックします。
  3. [全般設定] - [詳細設定]をクリックします。
  4. [リストの表示]にて[クラシック表示]を選択し、[OK]をクリックして保存します。

完成したお知らせリストは、下図のようになります。

※ リストの作成後、今回はテスト用のお知らせを複数追加しました

Excelファイルの作成

  1. [Excel]を起動します。
  2. 新規ファイルを開き、A1セルからE1セルまで順に[タイトル]、[適用開始日]、[発信部署]、[更新日時]、[URL]と入力します。
  3. [更新日時]列全体を選択します。
  4. [数値]タブにて[セルの書式設定]を開きます。
  5. 分類[日付] - [2012/3/14 13:30]を選択し、[OK]をクリックします。
  6. 名前を付けてファイルを保存します。今回はローカルに保存しましたが、Power Automateを使用するアカウントと同じアカウントを使用している場合はOneDriveでも問題ありません。

完成したExcelファイルは下図のようになります。

デスクトップ向けPower Automateでのツール作成

デスクトップ向けPower Automateアプリを使用したフローの作成手順をご説明します。

フローの作成

  1. デスクトップ向けPower Automateを起動します。
  2. 画面左上の[+新しいフロー]をクリックします。
  3. [フロー名]を入力し、[作成]ボタンをクリックします。
  4. フローの作成画面が起動します。
  5. 以降、左メニューの[アクション]より、実行したいアクションを[ここにはまだアクションがありません]と表示されているペインにドラッグアンドドロップで追加します。

新しいMicrosoft Edgeを起動

Webブラウザーを起動し、対象のWebページへアクセスするアクションです。

  1. [アクション] - [ブラウザー自動化] - [Webフォーム入力] - [新しいMicrosoft Edgeを起動] を追加します。
  2. 下記のとおり設定し、[保存]ボタンをクリックします。下記3点以外はデフォルト値です。

起動モード

新しいインスタンスを起動する

初期URL

お知らせページのURL

ウィンドウの状態

最大化

Webページからデータを抽出する

対象のWebページより、データを抽出するアクションです。データの設定は、リダイレクトされたWebページ上で行います。

[アクション] - [ブラウザー自動化] - [Webデータ抽出] - [Webページからデータを抽出する]を選択し、下記のとおり設定します。

Webブラウザーインスタンス

%Browser%(変数)

タイムアウト

60

データ保存モード

編集

抽出するデータを選択

本手順の実施前にMicrosoft EdgeへMicrosoft Power Automateの拡張機能をインストールし、オンにする必要があります。

microsoftedge.microsoft.com

  1. Microsoft  Edgeにて[新しいMicrosoft Edgeを起動]で起動させた初期URLのページを開きます。
  2. ライブWebヘルパーが起動します。
  3. 最新のアイテムのタイトル列にカーソルを合わせ、[Table data cell]となったら右クリックします。
  4. [要素の値を抽出] → [テキスト]を選択します。
  5. 同ページ内最下部のアイテムのタイトル列を右クリックで選択し、[要素の値を抽出] → [テキスト]を選択します。
  6. ライブWebヘルパーの抽出プレビューにてタイトル列が取得できていることを確認します。
  7. 最新のアイテムの[適用開始日]列を右クリックし、[要素の値を抽出] → [テキスト]を選択します。
  8. [発信部署]、[更新日時]に対し、7と同様の作業を行います。
  9. 最新のアイテムのタイトル列にカーソルを合わせ、[Anchor]となったら右クリックします。
  10. ポータルのタイトルを右クリックし、[要素の値を抽出] → [Href]を選択します。    
  11. 抽出プレビューにて、選択した項目がテーブル形式で読み込まれていることを確認し、[終了]ボタンをクリックします。

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

フローを保存する

画面左上の[保存]ボタンをクリックします。

完成したフローは下図のとおりです。

フローを実行する

  1. Power Automateを起動します。
  2. フローの一覧にて作成したフローを選択し、[実行]をクリックします。

フローを実行すると、指定したExcelファイルにお知らせリストの値が書き込まれます。

おわりに

今回作成したフローは、プレミアム機能の追加契約や複雑なコーディングなどが必要なく、Power Automate Windowsアプリケーションのアクションのみで作成可能です。

各アクションで指定する値など、初めてツールを作成する際には戸惑う箇所もありますが、「この作業、自動化できないかな?」と思ったときに、実際に作ってみることができる点が、デスクトップ向けPower Automateの良さだと感じました。

日々の業務の効率化にも積極的に活用していきたいと思います。

執筆担当者プロフィール
大城 あずさ

大城 あずさ(日本ビジネスシステムズ株式会社)

プロフェッショナルサービス4部所属。Microsoft 365などのユーザーサポートを担当しています。

担当記事一覧