6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Power AppsでSharePointリストに勤務時間を打刻してみた。

Last updated at Posted at 2025-03-31

はじめに

前回の投稿では、Power Automateを使って定期連絡フローを作成しました。今回は、Power Appsを利用してSharePointリストに勤務時間を打刻する方法をご紹介します。

Power Automateとは

Microsoftが提供するRPA(ロボティック・プロセス・オートメーション)ツールです。Power Automate使うことで、日常的な繰り返し作業を自動化し、業務の効率化を図ることができます。例えば、メールの自動返信やデータの入力、ファイルの保存などを自動化できます。

Power Appsとは

Power Appsは、Microsoftが提供するローコード開発プラットフォームで、ユーザーが簡単にカスタムアプリを作成できるツールです。コードの知識が少なくても、ドラッグ&ドロップでアプリを構築し、データの接続や自動化を実現できます。ビジネスプロセスの効率化に役立ちます。

SharePointとは

SharePointは、Microsoftが提供するコラボレーションおよび文書管理プラットフォームです。チームがファイルを共有し、共同作業を行い、プロジェクトを管理するためのツールを提供します。企業内の情報共有と効率化を促進します。

Powerappsで勤怠管理アプリを作成する

まず、初めに勤怠管理アプリを作成します。デザインは個人によって異なるため、今回は詳細な説明を省略します。画面を作成する際に、出勤ボタンと退勤ボタンを追加します。

スクリーンショット 2025-03-30 011141.png

SharePointリストに打刻する

出勤ボタンを押した際には出勤時刻、退勤ボタンを押した際には退勤時間をSharePointリストに打刻したいと思います。

出勤ボタン

出勤ボタンを押した際には、SharePointリストの「日付」「開始時刻」「作業場所」の列に対して打刻したいと思います。

まず、Power Appsで、出勤ボタンを選択します。

image.png

出勤ボタンを選択するとプルダウンが出るので、「OnSelect」を選択し、下記の関数を入力します。

value1.json
Patch(
  WorkManagement,
  Defaults(WorkManagement),
  {
    日付: Now(),
    開始時刻: Time(Value(Time_selection.Selected.Value), Value(Minute_selection.Selected.Value), 0),
    作業場所: Location_selection.Selected.Value
  }
);
If(
    IsBlank(LookUp(WorkManagement, 日付 = Now())),
    Notify("報告済み", NotificationType.Information);
)

「WorkManagement」と記載されている箇所は、任意のリスト名で記載しても問題ありません。

実際にボタンを押すと下記の画像のように出勤時刻を打刻することができました。

image.png

退勤ボタン

次に退勤ボタンを押した際にSharePointリストの「終了時刻」の列に対して打刻したいと思います。また、ボタンを押した時の日付に対して終了時刻を打刻できるようにしております。

まず、Power Appsで退勤ボタンを選択します。

image.png

退勤ボタンを選択するとプルダウンが出るので、「OnSelect」を選択し、下記の関数を入力します。

value1.json
Patch(
    WorkManagement,
    LookUp(WorkManagement, 日付 = Today()),
    {
        終了時刻: Time(Value(Time_selection.Selected.Value), Value(Minute_selection.Selected.Value), 0) 
    }
);
Notify("退勤時間が記録されました", NotificationType.Success);

「WorkManagement」と記載されている箇所は、任意のリスト名で記載しても問題ありません。

実際にボタンを押すと下記の画像のように終了時刻を打刻することができました。

image.png

リセット

最後にSharePointリストを毎日リセットできるフローをPowerAutomateで作成したのでご紹介させていただきます。

Power Automateの画面左メニューの[作成]を選択し、[スケジュール済みクラウドフロー]を選択します。
選択後下記の情報を入力します。

  • フロー名:任意のフロー名を入力
  • 開始日:任意の時間
  • 時間:開始する時間(今回の場合は10:00 AMとする)
  • 繰り返し回数:1週間
  • 設定曜日:月火水木金

image.png

クリックすると詳細画面が出てくるので、TimeZoneを下記に設定します。

  • Time Zone:(UTC+09:00)大阪、札幌、東京
  • Start Time 2024-12-13T01:00:00.000Z

フロー2.png

Start Timeは自動的に入力されます。

SharePointの設定

⊕ボタンを押すと「アクションの追加」が選択できるので、クリックします。

アクションの追加.png
クリックすると検索することができるので、「SharePoint」と入力します。
「SharePoint」のアクションが表示されるので、「さらに表示」をクリックします。
「複数項目を取得する」が表示されるので、選択します。

image.png

  • サイトのアドレス:任意のサイトのアドレスを入力する
  • リスト名:任意のリスト名を選択する

繰り返し

各listをリセットするために、それぞれのリストを繰りかえして処理します。
「アクションの追加」で「control」で「それぞれに適用する」を選択します。

image.png

パラメータを設定できるので、「body/value」を設定します。設定することで、sharepoint listの複数項目の取得で取れたデータを取得しております。

image.png

処理

「アクションの追加」で「sharepoint」で「項目の更新」を選択します。

image.png

次に更新するサイト、リスト名、IDを設定します。

  • サイトのアドレス:任意のサイトのアドレスを入力する
  • リスト名:任意のリスト名を選択する
  • ID:取得したID

次に詳細パラメーターを設定します。
「日付」、「開始時刻」、「終了時刻」、「作業場所」を選択します。

image.png

次に、それぞれの選択したパラメータに対して、関数を設定します。
先ほど設定したパラメータで「null」と設定することでリセットすることができます。

image.png

実際に実行すると、全ての情報をリセットすることができました。

image.png

まとめ

今回は、Power AutomateとPower Appsを用いて、リストへの打刻を行いました。また、毎日自動的にリセットできるフローも作成しました。

次回

次回の投稿ではPower AutomateとPower Appsを連携し、teamsへのメッセージを送信する説明をしたいと思います。

勤怠管理画面.png

6
6
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
6
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?