SharePointのリスト フォームをPower Appsでカスタマイズすることにハマった話

# はじめに
SharePointのLists。
とてもモダンで素敵ですよね。

**それに加えて、リスト フォームの美しいこと・・・**
このリスト フォームですが、JSONによってゴリゴリ今までもカスタマイズすることができました。
達人ですと異次元の美しいリスト フォームが作成可能。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/4f90feb9-abe1-f807-9f34-a18c1bd8999a.png)
※テンプレート

https://learn.microsoft.com/ja-jp/sharepoint/dev/declarative-customization/list-form-configuration


しかし時代は変わりました。

**Power AppsでカスタマイズしてSharePointのリスト フォームをカスタマイズをすることができるようになっているのです。**

https://learn.microsoft.com/ja-jp/power-apps/maker/canvas-apps/customize-list-form

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/b5b5ee60-0381-a5b7-2698-faf942f91485.png)


## Power AppsでSharePoint フォームをカスタマイズできるということ
Power Appsの（キャンバスアプリ）機能を活用できるので、作成が容易。
今までであればSharePointの小さな画面の一つでしたが、Power Appsという入口によって、

- Power Automateの活用
- ほかのデータソースからのデータ取得

と可能性が無限に広がります。

## 進め方
Microsoftの参考リンクが、非常に丁寧に解説してくださっているので、コメント不要に近しいのですが・・・。
一応こちらでもご紹介。
1. SharePointのリスト（もしくはドキュメントライブラリ）でフォームをカスタマイズ
    ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/5a8800fb-2773-743c-2cfb-5e18a330bc8a.png)
1. Power Appsでカスタマイズ（中略）
1. 公開
    1. 保存して、この**公開**を実施するまでSharePointには反映されません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/c507c667-df76-dc8b-4fdc-c9e474962033.png)



## SharePoint側の設定 (もしも反映されないとき)
SharePoint Listsの設定を確認してみましょう！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/43243da0-8174-d6b8-d0ba-398e88edb808.png)

Listsの [ フォームの設定 ]で`PowerApps で作成したカスタム フォームを使用します (新しいリスト表示環境が必要です)`をクリックすると、カスタマイズができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/09c7564d-50e6-de4a-0f40-926f070a5e4c.png)

Listsの [ フォームの設定 ]で`バージョンと使用方法を参照`から、バージョンを戻すこともできることが嬉しい！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/1dcc4320-b9d5-3df0-6ce4-ae326622944c.png)

## モダンコントロールで更に映える
Power Appsで順次モダンコントロールがGAされていることに伴い、**映え** も期待できます。
特におススメは`日付ピッカー`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2734332/861584e7-8fff-54ca-3404-980ab8eb08c8.png)

Outlookのカレンダーの設定のように使えることがポイント。
利便性が良いですね。

フォーム機能に`スクロール`がデフォルトで備わっているので、下にコンテンツを追記していけることも嬉しい。

## 一長一短
ここまでべた褒めできましたが、Power Appsでカスタマイズすることによるデメリットもあります。

■ 比較（主観）
|項目|JSONによるカスタマイズ|Power Appsによるカスタマイズ|主観のコメント
|---|---|---|---
|簡単さ|×|〇|JSONはHTMLやCSSの知識も欲しいくらいです
|起動速度|〇|×|Power Appsは、起動速度では分が悪い・・・遅いです
|映え|-|-|頑張り次第です。両方とも映えさせられます
|機能|△|〇|Power AppsはPower Automateや他のデータソースからもデータが取得できてしまうことは、実質何でもできてしまいます。
|バージョン管理|Git|Power Appsの標準|JSONはGit管理になるでしょう。プログラミングですので。Power Appsは標準で備わっています。

実質的にPower Appsで、気軽に何でもできてしまうので、楽しい！
しかしやり過ぎると魔物を作ってしまうので注意ですね。

## learnで統合を学ぼう！

Dataverseが一番リッチなチョイスですが、そうでなければSharePointを活用しましょう！
SharePoint & Power Appsの相性は抜群に良いと思っています。

https://learn.microsoft.com/ja-jp/power-apps/maker/canvas-apps/sharepoint-form-integration?source=recommendations

https://learn.microsoft.com/ja-jp/training/modules/get-started-power-apps-sharepoint/?source=recommendations

SiteにPower Appsを埋め込むこともできるので幅が広がります！

ドキュメントライブラリでも、この機能は使えるので、今度その機能をご紹介しようかと！
Power Apps最高ですね！

Excelの式がある程度わかる水準であれば、Power Appsは慣れると思います。
あとはどれだけ慣れるか、慣れの問題です。

**Power Apps is Good!!** 超楽しいので是非楽しんでみてください♪