SharePoint フォームの統合についてUnderstand SharePoint forms integration

PowerApps であらゆる SharePoint リスト フォームを簡単にカスタマイズできるようになりました。You can now easily customize any SharePoint list form in PowerApps. この記事では、これらのフォームの動作と、フォームをさらにカスタマイズする方法を詳しく見てみましょう。In this article, we'll walk through the details of how these forms work and how you can customize them further.

SharePoint リストのフォームをカスタマイズしたことがある方は、既定の生成されたフォームは、アイテムの作成、表示、編集などのすべての操作に対応していることをご存知でしょう。If you've customized a form for a SharePoint list, you've likely noticed that the default generated form works for all operations, like creating, showing, or editing an item. これは、生成された数式と SharePointIntegration コントロールによって実現されています。This is accomplished with the help of generated formulas and the SharePointIntegration control.

既定の生成されたフォームについてUnderstand the default generated form

既定の生成されたフォームは、次のコントロールと対応する既定値で構成されています。The default generated form consists of the following controls and their corresponding defaults:

  • FormScreen1 - これは、フォームを含む画面です。FormScreen1 - This is the screen that contains the form.

  • SharePointForm1 - これは、リスト アイテムの作成、表示、または編集に使用されるフォームです。SharePointForm1 - This is the form that's used to create, show, or edit the list item.

    • Data Source - フォームがカスタマイズされているリストです。Data Source - The list for which the form has been customized.

    • Item - リストから選択されたアイテムです。Item - The selected item from the list. これは、PowerApps Studio で操作するとき便利なように、リストの First() アイテムに設定されています。This is set to First() item in the list for your convenience when working in PowerApps Studio.

      If(IsBlank(SharePointIntegration.Selected) || IsEmpty(SharePointIntegration.Selected),First('YourListName'),SharePointIntegration.Selected)If(IsBlank(SharePointIntegration.Selected) || IsEmpty(SharePointIntegration.Selected),First('YourListName'),SharePointIntegration.Selected)

    • OnSuccess - アイテムが正常に作成または保存されると、フォームがリセットされ、SharePoint でこのフォームが非表示になります。OnSuccess - Once the item is created or saved successfully, the form is reset and SharePoint hides the form.

      ResetForm(SharePointForm1); RequestHide()ResetForm(SharePointForm1); RequestHide()

  • SharePointIntegration - このコントロールは、SharePoint と PowerApps の間でユーザー アクションを伝達します。SharePointIntegration - The control responsible for communicating user actions between SharePoint and PowerApps.

    • Data Source - フォームがカスタマイズされているリストです。Data Source - The list for which the form has been customized.

      'YourListName''YourListName'

    • OnNew - SharePointForm1 を新しいモードに設定します。OnNew - Sets SharePointForm1 in new mode.

      NewForm(SharePointForm1)NewForm(SharePointForm1)

    • OnView - SharePointForm1 を表示モードに設定します。OnView - Sets SharePointForm1 in view mode.

      ViewForm(SharePointForm1)ViewForm(SharePointForm1)

    • OnEdit - SharePointForm1 を編集モードに設定します。OnEdit - Sets SharePointForm1 in edit mode.

      EditForm(SharePointForm1)EditForm(SharePointForm1)

    • OnSave - SharePointForm1 の変更を送信します。OnSave - Submits the changes to SharePointForm1. フォームの送信が成功すると、SharePointForm1.OnSuccess 式が実行されます。On successful submission of the form, the SharePointForm1.OnSuccess formula is executed.

      SubmitForm(SharePointForm1)SubmitForm(SharePointForm1)

    • OnCancel - SharePointForm1 の変更をリセットします。OnCancel - Resets the changes to SharePointForm1. ユーザーが SharePoint で [キャンセル] をクリックまたはタップすると、SharePoint では常にフォームが非表示になります。SharePoint always hides the form when a user clicks or taps Cancel in SharePoint.

      ResetForm(SharePointForm1)ResetForm(SharePointForm1)

これらの既定値によって、SharePoint 内で実行したときにフォームが機能し、ユーザーが SharePoint でフォームと対話したときに PowerApps フォーム モードが変更され、変更内容が SharePoint に確実に送信されます。These defaults ensure that the form works when running within SharePoint - they change the PowerApps form mode as the user interacts with it in SharePoint, and they ensure that the changes are submitted to SharePoint.

SharePointIntegration コントロールについてUnderstand the SharePointIntegration control

SharePointIntegration コントロールは、SharePoint と PowerApps の間でユーザー アクションを伝達します。The SharePointIntegration control communicates user actions between SharePoint and PowerApps.

注意

SharePointIntegration コントロールのプロパティには、フォームが SharePoint で実行されているときにのみアクセスでき、PowerApps Studio でフォームをカスタマイズしているときにはアクセスできません。You can access the properties for the SharePointIntegration control only when the form is running in SharePoint, not when you're customizing the form in PowerApps Studio. これらのプロパティは、OnStart または OnVisible では使用できないことがあります。These properties may not be available in OnStart or OnVisible.

SharePointIntegration コントロールには、次のプロパティがあります。The SharePointIntegration control has the following properties:

Selected - SharePoint リストから選択されたアイテムです。Selected - The selected item from the SharePoint list.

OnNew - ユーザーが SharePoint で [新規] ボタンをクリックまたはタップしたとき、またはアイテム作成フォームを開いたときのアプリの応答です。OnNew - How an app responds when a user clicks or taps the New button or opens the Create item form in SharePoint.

OnView - ユーザーが SharePoint で [アイテム] ボタンをクリックまたはタップしたとき、またはアイテム詳細フォームを開いたときのアプリの応答です。OnView - How an app responds when a user clicks or taps an item or opens the Item detail form in SharePoint.

OnEdit - ユーザーが SharePoint で [すべて編集] ボタンをクリックまたはタップしたとき、またはアイテム編集フォームを開いたときのアプリの応答です。OnEdit - How an app responds when a user clicks or taps the Edit all button or opens the Edit item form in SharePoint.

OnSave - ユーザーが SharePoint で [保存] ボタンをクリックまたはタップしたときのアプリの応答です。OnSave - How an app responds when a user clicks or taps the Save button in SharePoint.

OnCancel - ユーザーが SharePoint で [キャンセル] ボタンをクリックまたはタップしたときのアプリの応答です。OnCancel - How an app responds when a user clicks or taps the Cancel button in SharePoint.

SelectedListItemID - SharePoint リストで選択されたアイテムのアイテム ID です。SelectedListItemID - Item ID for the selected item in a SharePoint list.

Data Source – フォームが表示、編集、または作成するレコードが含まれるリストです。Data Source - The list that contains the record that the form will show, edit, or create. このプロパティを変更すると、Selected プロパティと SelectedItemID プロパティが無効になる可能性があることに注意してください。Note that if you change this property, the Selected and SelectedItemID properties may stop working.

既定のフォームをカスタマイズするCustomize the default form

既定の生成されたフォームと SharePointIntegration コントロールを理解したら、数式を変更して、フォームをさらにカスタマイズすることができます。Now that you have a better understanding of the default generated form and the SharePointIntegration control, you can change the formulas to further customize the forms. フォームをカスタマイズするときの注意事項をいくつか次に示します。Here are some things to keep in mind when you customize forms:

  • アイテムを作成、表示、または編集するための個別のカスタム エクスペリエンスを作成するには、SharePointIntegration コントロールの OnNewOnView、または OnEdit 式を、変数を設定するか別の画面に移動するように設定します。To create separate custom experiences for creating, showing, or editing an item, set the OnNew, OnView, or OnEdit formulas of the SharePointIntegration control to set variables or navigate to different screens.

  • ユーザーが SharePoint で [保存] をクリックまたはタップしたときの動作をカスタマイズするには、SharePointIntegration コントロールの OnSave 式を使用します。Use the OnSave formula of the SharePointIntegration control to customize what happens when a user clicks or taps Save in SharePoint. 複数のフォームがある場合は、現在使用しているフォームに対する変更だけを送信してください。If you have multiple forms, make sure to submit the changes only for the form currently being used.

    ヒント

    OnNewOnView、および OnEdit 式の変数には異なる値を設定します。Set different values for a variable in the OnNew, OnView, and OnEdit formulas. OnSave 式でこの変数を使用すると、使用されているフォームを指定できます。You can use this variable in the OnSave formula to determine which form is being used.

  • すべてのフォームの OnSuccess 式に必ず RequestHide() を含めてください。Make sure to include RequestHide() in the OnSuccess formula of all your forms. これを忘れると、SharePoint はフォームを非表示にするタイミングを認識できません。If you forget this, SharePoint will not know when to hide the form.

  • SharePoint でユーザーが [キャンセル] をクリックまたはタップしたときのフォームの非表示は制御できないので、SharePointIntegration コントロールの OnCancel 式でかならずフォームをリセットしてください。You can't control the hiding of a form when a user clicks or taps Cancel in SharePoint, so make sure you reset your forms in the OnCancel formula of the SharePointIntegration control.

  • SharePointIntegration コントロールのプロパティは OnStart または OnVisible では使用できないことがあり、それらのイベントはリストの読み込み中に 1 回だけ実行します。The properties for the SharePointIntegration control may not be available in OnStart or OnVisible, and those events execute only once while the list is loaded. OnNewOnView、または OnEdit 式を使って、フォームが毎回ユーザーに表示される前にロジックを実行できます。You can use OnNew, OnView, or OnEdit formulas to run logic before the form is shown to the user every time.