こんにちは。アーティサン株式会社の小刀稱(ことね)です。
SharePointのフォームをPower Appsにてカスタマイズできることをご存知でしょうか。
Power Apps を使用して Microsoft Lists または SharePoint フォームをカスタマイズする
標準のフォームより、より細やかな制御を行うことができるため、便利ですよね。
今回は、SharePointリスト上のPower Appsフォームをエクスポートし、別のSharePointリストへインポートする方法を紹介します。
前提と今回やりたいこと
最初に前提条件と今回やりたいことについて說明します。
2つSharePointサイトを作成しました。
また、各サイトにSharePointリストを作成しました。
<環境>
フォームをエクスポートする環境
SharePointサイト名:SharePointフォーム用サイト_from
SharePointリスト名:sample list
フォームをインポートする環境
SharePointサイト名:SharePointフォーム用サイト_to
SharePointリスト名:sample list
作成したSharePointリストの列名とデータ型は以下のとおりです。
※2つのSharePointリストはどちらも同一の列名とデータ型です。
タイトル:1行テキスト
singleText:1行テキスト
number:数値
person:個人
date:日付と時刻
今回は、「SharePointフォーム用サイト_from 上の sample list で作成されたフォームをエクスポートし、 SharePointフォーム用サイト_to 上の sample list にインポートする」という作業を行います。
Power Appsフォームのエクスポートとインポート
以下手順にてPower Appsフォームのエクスポートとインポートを行います。
Power Appsフォームをエクスポート
まずは、Power Appsフォームをエクスポートします。
Power Appsの編集画面からファイル→すべてのバージョンの表示→エクスポート パッケージをクリックします。
その後、エクスポート パッケージ画面にて必要事項を編集します。
今回は以下を編集しました。
パッケージの詳細 名前:Power Appsフォーム
パッケージコンテンツの確認 インポートの設定:新しく作成する
必要事項を編集したら、「エクスポート」をクリックし、Power Appsフォームをダウンロードします。
(zip形式のデータがダウンロードされます。)
JSONファイルの修正
zipファイルを解凍し、Microsoft PowerApps→apps→xxxxx(数字列)と移動し、「xxxxx.json」を開きます。
修正する箇所としては、JSONファイルの”embeddedApp”内の以下値です。
“siteId”
“listId”
“listUrl”
上記3項目を、フォームをインポートする環境(「SharePointフォーム用サイト_to」サイト)の値に上書きします。
siteIdとlistUrlの値はすぐに分かると思いますので、割愛します。
listIdの値については、SharePointリスト画面の「リストの設定」をクリックし、設定画面上のURLの内、「?List=」以降の%7Bと%7Dを除いた値となります。
※「%7B」と「%7D」は「 { 」と「 } 」がそれぞれエンコードされた値です。
JSONファイルを上書きしたら、zipファイル上のxxxxx.jsonに、先程修正したjsonファイルを上書き保存します。
Power Appsフォームをインポート
Power Appsフォームを新しい環境にインポートします。
Power Appsのホーム画面( https://make.powerapps.com/ )を開き、アプリ→キャンバス アプリのインポートをクリックします。
パッケージのインポート画面にて必要事項を編集します。
今回は以下を編集しました。
パッケージコンテンツの確認 インポートの設定→リソース名:SharePointフォーム用サイト_to フォームの sample list
必要事項を編集したら、インポートをクリックし、Power Appsフォームをインポートします。
インポートが正しく実行されたら、アプリを開くをクリックし、Power Apps編集画面を開きます。
データソースの更新
前述した手順にてPower Appsフォームのインポートは完了しましたが、Power Appsフォームが参照しているデータソースがエクスポート時のSharePointリスト(SharePointフォーム用サイト_from の sample list)のままとなっているため、更新する必要があります。
Power Apps編集画面のデータ→sample list 横の3点リーダーから「削除」をクリックし、SharePointリストを削除します。
その後、新しいSharePointリスト(SharePointフォーム用サイト_to の sample list)を選択します。
これでデータソースの更新は完了です。
Power AppsフォームをSharePoint に公開してください。
補足
今回は、「エクスポート・インポートするSharePointリストに関して、その名称や各列の外部・内部列名が同一の場合」という前提にて、実行手順をお伝えしました。
エクスポート・インポートするSharePointリストに関して、その名称や各列の外部・内部列名が異なる場合は、フォームをインポートした後、Power Appsの修正が別途必要となります。
この場合、修正箇所がかなり多くなる可能性があります。
もし本記事を参考にPower Appsフォームをエクスポート・インポートする場合は、着手する前にSharePointリストの名称や各列の外部・内部列名を確認しましょう。
修正箇所が多いと予想される場合は、1からフォーム作成をおすすめします。
逆に、エクスポート・インポートするSharePointリストの名称や各列の外部・内部列名が同一の場合は、修正箇所が少ないため、本記事の方法で簡単にフォームをコピーできます。
ぜひご活用ください。
さいごに
本記事では、今回はSharePointリスト上のPower Appsフォームをエクスポートし、別のSharePointリストへインポートする方法を紹介しました。
機会がありましたらぜひご活用ください!
【こちらも合わせて読みたい】
小刀稱知哉
大分県出身(温泉大好き)、現在は東京都在住
1990年生まれ
30才でメーカーの技術営業からIT業界にジョブチェンジ!!!
趣味は読書
主にMicrosoftのローコード(SharePoint・Power Platform)に関するに関する営業活動や設計、開発などを担当しております!
持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200