Microsoft365 Power Automate SharePoint

【SharePoint】リストからページを作成する自動化(Power Automate)テンプレート

 

相談者
更新履歴、お知らせ、社内通達をページを使っています。
よくページを使うので自動化出来て整理できる方法を教えてください。
リストからテンプレートのページをコピーして、リスト化するまでを自動化できます。
また「サイトのページ」がごちゃごちゃしないように整理できます。
龍之介

 

この記事は、SharePointリストからページを作成する自動化の作成手順です。
Power Automateで自動化するフローの作成手順が中心になります。
フローが長くなるので、JSONをこの記事からコピーして作成してください(アクション名は、同じにしないとフローはエラーになります)
YouTubeでは、この作成したリストとフローをカスタマイズして複数のページを作成するフローを説明しています。

目次

はじめに
第1章 SharePoint Onlineとは?
|SharePoint Onlineって何ができるの?
|SharePoint Online導入のメリットと注意点
|SharePoint Onlineの費用
|SharePoint Onlineで覚えておくこと
|SharePointに関連するアプリ
第2章 サイト構築
|社内ポータルサイトリニューアルプロジェクト事例
|少ない人数で効率的に運用できる体制を考えよう!
|サイトマップを作って全体像を把握しよう
第3章 サイト作成手順
|サイト作成のポイント
|コミュニケーションサイトの作成手順
|チームサイトの作成手順
第4章 自動化
|社内連絡を自動化
|情報共有を自動化
|申請(承認フロー)を自動化
おわりに

 

本の説明

会社の社内ポータルサイトをこれから構築する為のサイト作成〜自動化までの参考書です。この1冊に少人数で社内ポータルサイトを構築したノウハウをまとめました。中小企業でどのようにサイトを構築したか実体験が書いてあります。

紹介ページ
【電子書籍】SharePointポータルサイト作り方

続きを見る

 

本記事の内容

  • ページの作成(テンプレート)
  • リストの作成
  • リストからページ作成フロー

 

ブログで分かりづらいところをYouTubeで説明しています。
ページの作成、リストのフロー実行ボタンは動画をご視聴ください。
龍之介

 

 

テンプレートのページ作成

 

リストからページを作成する元のファイル(テンプレートのページ)を作成します。

テンプレートのページは、公開せずに「再公開」の状態にしておけば閲覧者には表示されません。

 

また「サイトのページ」に列が追加できるので、作成されたページの分類をします。

 

サイトのページは、サイトコンテンツの中にあります。
龍之介

 

リストの作成

 

ページを作成する(フローを実行する)リストを作成します。

リスト名は、英語で「PageCreate」にしてください。

列は、タイトル、Link(ハイパーリンク)、Button(1行テキスト)の3つにします。

リストの列タイトルはページのファイル名とページ内のタイトルになります。

Link(ハイパーリンク)は、ページを作成した後にページのリンクを追加します。

Buttonは、フローを実行するボタンをJSONで追加します。

 

フローを実行するボタンの列のJSONは、このページの最後にあります。
龍之介

 

リストからページ作成フローの手順

 

フローにあるJSONをコピーできるようにしています。
手順の説明で分かりづらいところは、YouTubeで補足説明していますのでご視聴ください。
龍之介

フローは、PageCreateのリストのアイテムを選択して実行するフローになります。

 

Power Automateリストからページ作成フロー

 

step
フロー作成(トリガー)

インスタントクラウドフローから「選択したアイテムの場合」を選択して、フローを作成します。

①「作成」→「インスタントクラウドフロー」をクリックします。

 

②フロー名『リストからページ作成』を入力し、「選択したアイテムの場合」を選択、「作成」をクリックします。

 

③サイトのアドレス、リスト名を選択します。

 

step
項目の取得を追加

タイトルの値を取得するため、項目の取得のアクションを追加します。

④「新しいステップ」→「項目の取得」のアクションを追加します。
⑤サイトのアドレス、リスト名を選択、IDに「ID」を追加します。

 

step
ファイルのコピー

サイトのページに作成したページ(ファイル)をコピーします。

⑥「新しいステップ」→「ファイルのコピー」のアクションを追加します。
⑦現在のサイトアドレス、コピーするファイルを選択します。
⑧送信先サイトアドレス、インストール先フォルダー「SitePages」を選択します。
⑨別のファイルが存在する場合は、「Copy with a new nama」を選択します。

 

step
ファイル名の変更

「SharePointにHTTP要求を送信します」のアクションを使って、コピーしたファイル(ページ)のファイル名を変更します。

⑩「新しいステップ」→「SharePointにHTTP要求を送信します」のアクションを追加します。
⑪サイトのアドレス、方法「POST」、URI、ボディは下記をコピーして貼り付けします。
アクション名は、「ファイル名の変更」に変更します。

 
_api/web/lists/getbytitle('サイトのページ')/items(@{outputs('ファイルのコピー')?['body/ItemId']})/validateUpdateListItem

 

{
"formValues": [
{
"FieldName": "FileLeafRef",
"FieldValue": "@{outputs('項目の取得')?['body/Title']}.aspx"
}
]
}

 

step
ファイルのチェックアウト

ページのタイトルを変更する前にファイルをチェックアウトする必要があります。
チェックアウトしているので、サイトのメンバーは編集できません(チェックインが必要な場合はチェックインを忘れずに!)

⑫「新しいステップ」→「ファイルのチェックアウト」のアクションを追加します。
⑬サイトのアドレスを選択、ライブラリ名は「カスタム値の入力」→『サイトのページ』と入力、IDは、ファイルのコピーの「ItemId」を追加します。

 

step
ページタイトルの変更

「SharePointにHTTP要求を送信します」のアクションを使って、ページのタイトルだけを変更します。

⑭「新しいステップ」→「SharePointにHTTP要求を送信します」のアクションを追加します。
⑮サイトのアドレス、方法「PATCH」、URI、ヘッダー、ボディは下記をコピーして貼り付けします。
ヘッダーはテキストモードにしてJSONを貼り付けしてください。
アクション名は、「ページタイトルの変更」に変更します。

 
_api/sitepages/pages(@{outputs('ファイルのコピー')?['body/ItemId']})

 

{
  "content-type": "application/json;odata=verbose",
  "IF-MATCH": "*"
}

 

{
"__metadata": {
"type": "SP.Publishing.SitePage"
},
"Title": "@{outputs('項目の取得')?['body/Title']}"
}

 

step
ファイルの取得

「SharePointにHTTP要求を送信します」のアクションを使って、ファイルを取得します。

⑯「新しいステップ」→「SharePointにHTTP要求を送信します」のアクションを追加します。
⑰サイトのアドレス、方法「GET」、URIは下記をコピーして貼り付けします。
アクション名は、「ファイルの取得」に変更します。

 
_api/sitepages/pages(@{outputs('ファイルのコピー')?['body/ItemId']})

 

step
リストの更新

「SharePointにHTTP要求を送信します」のアクションを使って、リストの更新をします。
PageCreateのリストのハイパーリンクにURLを追加します。
URLは、255文字以内である必要があるので、ページのファイル名が長くならないようにしてください。

⑱「新しいステップ」→「SharePointにHTTP要求を送信します」のアクションを追加します。
⑲サイトのアドレス、方法「PATCH」、URI、ヘッダー、ボディは下記をコピーして貼り付けします。
ヘッダーはテキストモードにしてJSONを貼り付けしてください。
アクション名は、「リストの更新」に変更します。

 
_api/web/lists/getbytitle('PageCreate')/items(@{outputs('項目の取得')?['body/ID']})

 

{
  "content-type": "application/json;odata=verbose",
  "IF-MATCH": "*"
}

 

{
"__metadata": {
"type": "SP.Data.PageCreateListItem"
},
"Link": {
"__metadata": {
"type": "SP.FieldUrlValue"
 },
"Description": "Link",
"Url": "@{body('ファイルの取得')?['d']?['AbsoluteUrl']}"
}
}

 

step
サイトのページの更新

「SharePointにHTTP要求を送信します」のアクションを使って、サイトのページの更新(選択肢を追加)をします。

⑳「新しいステップ」→「SharePointにHTTP要求を送信します」のアクションを追加します。
㉑サイトのアドレス、方法「PATCH」、URI、ヘッダー、ボディは下記をコピーして貼り付けします。
ヘッダーはテキストモードにしてJSONを貼り付けしてください。
アクション名は、「サイトのページの更新」に変更します。

 
_api/web/lists/getbytitle('サイトのページ')/items(@{outputs('ファイルのコピー')?['body/ItemId']})

 

{
  "content-type": "application/json;odata=verbose",
  "IF-MATCH": "*"
}

 

{
"__metadata": {
"type": "SP.Data.SitePagesItem"
},
"Section": "更新履歴"
}

㉒「保存」をクリックします。

 

㉓フローのIDをコピーしたリストのButtonの列の書式設定に下記JSONを貼り付けます。

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "span",
  "style": {
    "color": "#fff",
    "font-weight": "bold",
    "background-color": "#6a5acd",
    "margin-top": "2px",
    "margin-bottom": "2px",
    "margin-left": "auto",
    "margin-right": "auto",
    "border-radius": "3px",
    "cursor": "pointer"
  },
  "children": [
    {
      "elmType": "span",
      "attributes": {
        "iconName": "Flow"
      },
      "style": {
        "margin-left": "5px"
      }
    },
    {
      "elmType": "button",
      "style": {
        "border": "none",
        "background-color": "transparent",
        "color": "#fff",
        "cursor": "pointer"
      },
      "txtContent": "ページ作成",
      "customRowAction": {
        "action": "executeFlow",
        "actionParams": "{\"id\":\"ここにフローIDを追加\"}"
      }
    }
  ]
}

 

 

まとめ

今回は、SharePointリストからページを作成する自動化を説明しました。

ページをよく使っている人は、リストから作成して時短してください。

またページから「レベル上げ」するとニュースとして投稿することもできるので、ニュース投稿の自動化としても使うことができます。

SharePointを管理している方は、ぜひフローを作成して自動化してみてください。

ブログでフローを作成した後は、YouTubeでこのフローをカスタマイズしてください。

 

目次

はじめに
第1章 SharePoint Onlineとは?
|SharePoint Onlineって何ができるの?
|SharePoint Online導入のメリットと注意点
|SharePoint Onlineの費用
|SharePoint Onlineで覚えておくこと
|SharePointに関連するアプリ
第2章 サイト構築
|社内ポータルサイトリニューアルプロジェクト事例
|少ない人数で効率的に運用できる体制を考えよう!
|サイトマップを作って全体像を把握しよう
第3章 サイト作成手順
|サイト作成のポイント
|コミュニケーションサイトの作成手順
|チームサイトの作成手順
第4章 自動化
|社内連絡を自動化
|情報共有を自動化
|申請(承認フロー)を自動化
おわりに

 

本の説明

会社の社内ポータルサイトをこれから構築する為のサイト作成〜自動化までの参考書です。この1冊に少人数で社内ポータルサイトを構築したノウハウをまとめました。中小企業でどのようにサイトを構築したか実体験が書いてあります。

 

kindleの読み放題を契約している人は、購入しなくても読み放題プランで読むことができます。
無料体験でも読むことができます。
龍之介

>>「SharePointポータルサイト作り方」を読み放題プラン(初回30日無料)で読む

-Microsoft365, Power Automate, SharePoint

© 2023 越後屋ブログ店 Powered by AFFINGER5