技術情報ブログ
Power Platform
2022.06.08

SharePoint×Power Appsフォームのエクスポート・インポート方法

SharePoint×Power Appsフォームのエクスポート・インポート方法

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

SharePointのフォームをPower Appsにてカスタマイズできることをご存知でしょうか。
Power Apps を使用して Microsoft Lists または SharePoint フォームをカスタマイズする

標準のフォームより、より細やかな制御を行うことができるため、便利ですよね。

SharePointリスト上のPower Appsフォーム
SharePointリスト上のPower Appsフォーム

今回は、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リストの列名とデータ型
SharePointリストの列名とデータ型

今回は、「SharePointフォーム用サイト_from 上の sample list で作成されたフォームをエクスポートし、 SharePointフォーム用サイト_to 上の sample list にインポートする」という作業を行います。

今回やりたいこと
今回やりたいこと

 

Power Appsフォームのエクスポートとインポート

以下手順にてPower Appsフォームのエクスポートとインポートを行います。

 

Power Appsフォームをエクスポート

まずは、Power Appsフォームをエクスポートします。

Power Appsの編集画面からファイルすべてのバージョンの表示エクスポート パッケージをクリックします。

Power Appsフォームのエクスポート-1
Power Appsフォームのエクスポート-1

その後、エクスポート パッケージ画面にて必要事項を編集します。

今回は以下を編集しました。

  • パッケージの詳細 名前:Power Appsフォーム

  • パッケージコンテンツの確認 インポートの設定:新しく作成する

[Power Appsフォームのエクスポート-2
[Power Appsフォームのエクスポート-2

必要事項を編集したら、「エクスポート」をクリックし、Power Appsフォームをダウンロードします。
(zip形式のデータがダウンロードされます。)

 

JSONファイルの修正

zipファイルを解凍し、Microsoft PowerAppsappsxxxxx(数字列)と移動し、「xxxxx.json」を開きます。

JSONファイルの修正-1
JSONファイルの修正-1

修正する箇所としては、JSONファイルの”embeddedApp”内の以下値です。

  • “siteId”

  • “listId”

  • “listUrl”

JSONファイルの修正-2
JSONファイルの修正-2

上記3項目を、フォームをインポートする環境(「SharePointフォーム用サイト_to」サイト)の値に上書きします。

siteIdlistUrlの値はすぐに分かると思いますので、割愛します。

listIdの値については、SharePointリスト画面の「リストの設定」をクリックし、設定画面上のURLの内、「?List=」以降の%7B%7Dを除いた値となります。

※「%7B」と「%7D」は「 { 」と「 } 」がそれぞれエンコードされた値です。

JSONファイルの修正-3
JSONファイルの修正-3

JSONファイルを上書きしたら、zipファイル上のxxxxx.jsonに、先程修正したjsonファイルを上書き保存します。

JSONファイルの修正-4
JSONファイルの修正-4

 

Power Appsフォームをインポート

Power Appsフォームを新しい環境にインポートします。

Power Appsのホーム画面( https://make.powerapps.com/ )を開き、アプリキャンバス アプリのインポートをクリックします。

パッケージのインポート画面にて必要事項を編集します。

今回は以下を編集しました。

  • パッケージコンテンツの確認 インポートの設定→リソース名:SharePointフォーム用サイト_to フォームの sample list

Power Appsフォームのインポート-1
Power Appsフォームのインポート-1

必要事項を編集したら、インポートをクリックし、Power Appsフォームをインポートします。

インポートが正しく実行されたら、アプリを開くをクリックし、Power Apps編集画面を開きます。

Power Appsフォームのインポート-2
Power Appsフォームのインポート-2

 

データソースの更新

前述した手順にてPower Appsフォームのインポートは完了しましたが、Power Appsフォームが参照しているデータソースがエクスポート時のSharePointリスト(SharePointフォーム用サイト_from の sample list)のままとなっているため、更新する必要があります。

Power Apps編集画面のデータsample list 横の3点リーダーから「削除」をクリックし、SharePointリストを削除します。
その後、新しいSharePointリスト(SharePointフォーム用サイト_to の sample list)を選択します。

データソースの更新
データソースの更新

これでデータソースの更新は完了です。
Power AppsフォームをSharePoint に公開してください。

Power AppsフォームをSharePoint に公開
Power AppsフォームをSharePoint に公開

 

補足

今回は、「エクスポート・インポートするSharePointリストに関して、その名称や各列の外部・内部列名が同一の場合」という前提にて、実行手順をお伝えしました。

エクスポート・インポートするSharePointリストに関して、その名称や各列の外部・内部列名が異なる場合は、フォームをインポートした後、Power Appsの修正が別途必要となります。
この場合、修正箇所がかなり多くなる可能性があります。

もし本記事を参考にPower Appsフォームをエクスポート・インポートする場合は、着手する前にSharePointリストの名称や各列の外部・内部列名を確認しましょう。

修正箇所が多いと予想される場合は、1からフォーム作成をおすすめします。
逆に、エクスポート・インポートするSharePointリストの名称や各列の外部・内部列名が同一の場合は、修正箇所が少ないため、本記事の方法で簡単にフォームをコピーできます。

ぜひご活用ください。

 

さいごに

本記事では、今回はSharePointリスト上のPower Appsフォームをエクスポートし、別のSharePointリストへインポートする方法を紹介しました。

機会がありましたらぜひご活用ください!

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当:小刀稱知哉

小刀稱知哉

大分県出身(温泉大好き♥♥)、現在は東京都在住

1990年4月9日生まれ

30才にしてメーカーの技術営業からIT業界にジョブチェンジ!!!

趣味は読書

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当しております!

シェアする
記事カテゴリ
最新記事
2024.04.17

Power Apps・Power Automateの勉強方法(1)

2024.04.03

非エンジニア【(元)自治体職員】が半年間ローコード開発をしてみたら

2024.03.27

Power Automateのベストプラクティス・アンチパターン(5)【Apply to each×コンカレンシー×変数の設定はNG】

2024.03.20

Power Apps×Teams:Teams上からPower Appsを実行する方法

2024.03.13

Power Apps:SharePointリストと連携したカレンダーアプリを自作してみよう

モデル駆動型アプリPower AppsPower PlatformSharePointExcelPower AutomateC#attributevalidationローコードAngularAccessInfoPathMatTableAngular Materialデータ構造SortByColumns関数TypeScriptHTMLEF CoreマイグレーションFramework CoreAttribute directivesO/Rマッパーazure sql databaseCase式HTTP RequestCSSxUnit.Net Core 3.1VSCode.Net Core Test ExplorerDataverse for Teamsitem関数Google MapsMarker ClustererRANK()関数Dynamics 365 SalesMicrosoft TranslatorマーカークラスタリングライブラリtailwindcssマルチテナントドロップダウンメニューBreakpointObserverメディアクエリスマホPCレスポンシブ入門初心者中級者キャンバスアプリDatePickerDropdownviewビューアクセス制限承認リマインドSetForAllUpdateContextロードマップ技術It情報技術メッセージIDメールfirst()関数nest入れ子動的リストcollectionコレクション複数の添付ファイル承認フローformエクスポートインポートカスタマイズcomponentダイアログコンポーネントdialogTips新機能変数検索Microsoft 365グループセキュリティグループ送信元メールの送信差出人インスタントクラウドフロー自動化したクラウドフロー委任VBAエラーエクセルerror復元restorePower BI個人列ユーザー列SharePoint Onlineリスト非表示アプリ[市民開発者構築自動化したクラウド フローフローの種類インスタント クラウド フロースケジュール済みクラウド フローレスポンシブ レイアウトresponsive layoutデータ行の制限引き継ぎ退職所有者を変更異動LoopMicrosoftdesignJSONデザインtemplateテンプレート運用選択肢列参照列ChatGPTOpenAIオープンAIチャットGPTgalleryギャラリースクロールコンテナショートカットキーshortcut keyconcat関数文字制限フロー実行開発環境環境本番環境ライセンス環境構築手順pipelineCI/CDパイプラインDevOpsMicrosoft 365簡易在庫管理時間外通知ファイルフィルター クエリドキュメント ライブラリfilter querysortソートmultiple item複数項目シェアポイント便利機能カレンダーCalendarTeamsローコード開発非エンジニア体験談勉強内製化
PageTop
ページトップに戻る