7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【小ネタ】PowerAppsでログインユーザーにより表示/非表示を切り替えるボタンを配置する

Last updated at Posted at 2022-07-06

PowerAppsのアプリでこのボタンは、管理者には表示したいけど、一般ユーザーには表示したくないということがあったので、
SharePointのリストにログインユーザーのデータがある場合にのみ表示するボタンを設置しました。
この記事ではそのような特定のユーザーに対しての専用ボタンを設置する方法について説明します。
001.jpg

SharePointのリストを用意する

まずはボタンを表示したいユーザーのみを登録したリストを作ります。
今回はユーザーの名前があるかで判定しますが、
同名被りがあるのでメールアドレスで判定する、
または、ボタンを表示するか非表示にするかの項目を作りそこから判定するといった判定方法もあります。
002.jpg

PowerAppsとSharePointを連携する

PowerAppsのアプリでSharePointのリストを参照する前にデータを連携する必要があります。
データ連携の手順は以下の通りです。

↓データの追加からSharePointを選択します。
003.jpg
004.jpg
005.jpg
↓使用するSharePointのサイトを選択します。
006.jpg
↓使用するリストを選択します。
007.jpg

専用ボタンの設定をする

データ連携を行い、リストが使えるようになったので、専用ボタンの設定を行います。
専用ボタンのVisibleプロパティを以下の通り設定します。

!IsBlank(
    LookUp(
        PowerApps管理者,
        Title = User().FullName,
        Title
    )
)

これでリストに名前があるユーザーのみに表示するボタンの完成です。
「PowerApps管理者」の部分はリスト名なので、使用するリスト名に変更する必要があります。
008.jpg

別の使用例

専用ボタンをログインユーザーの名前で判定する方法とは別の使用例を紹介します。

ログインユーザーのメールアドレスで判定する

「User().FullName」を「User().Email」とすることでログインユーザーのメールアドレスを取得することもできます。

!IsBlank(
    LookUp(
        PowerApps管理者,
        Title = User().Email,
        Title
    )
)

表示/非表示の項目で判定する

以下の画像の通り、リストにボタンを表示するかしないかの項目を作り、それを取得して判定します。
010.jpg

If(
    !IsBlank(
        LookUp(
            PowerApps管理者,
            Title = User().FullName,
            Title
        )
    ),
    If(
        "表示する" = LookUp(
            PowerApps管理者,
            Title = User().FullName,
            button
        ),
        true,
        false
    ),
    false
)

この通り、設定を操作することで自由に応用できるので、色々試してみてください。

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?