2つのツールでアプリを作ろうと思った経緯
急に出張が入ったので、スマートフォンから簡単に視察記録が取れるようなツールを作りたいなと思い立ち、Glideは30分くらいでサクッと作りました。
しかし2025年8月現在、GlideのGoogleスプレッドシート連携は有料化しており、Glideからでないとデータが呼び出せないことに不便を感じ、PowerAppsで同じようなものを作れないかチャレンジしてみました。
動作デモ(Gif)
まずはGlideで構築したアプリの操作画面(動画)をご覧ください。
Glide(グライド)とは
非常に感覚的に操ることができるノーコードアプリ開発ツールです。
プログラミング知識が不要であることに加え、修正を即座に反映するため、出来上がりのイメージを持ちながら構築できるのが魅力と考えられます。
ボタンのアクションで現在時刻を取得して登録、現在位置の取得など、defaultのメニューから選択して実装できたのも便利でした。
過去には無料プランでもGoogleスプレッドシートへの連携が可能であったようですが、残念ながら現在は有料化されています。
PowerApps画面
PowerAutomate実行履歴
後続のフローも(途上ですが)作成できたので、ご参考まで。Teamsの任意のチャネルに投稿しています。
工夫したところ
チェックイン・チェックアウトボタンで現在時刻を取得
ボタンアクションに変数を設定
チェックインボタン
Set(CheckInHour, Text(Hour(Now()), "00")); // 現在の時刻(Hour)を2桁の文字列に変換し、変数CheckInHourに保存する
Set(CheckInMinute, Text(Minute(Now()), "00")) // 現在の分(Minute)を2桁の文字列に変換し、変数CheckInMinuteに保存する
チェックアウトボタン
Set(CheckOutHour, Text(Hour(Now()), "00")); // 現在の時刻(Hour)を2桁の文字列に変換し、変数CheckOutHourに保存する
Set(CheckOutMinute, Text(Minute(Now()), "00")) // 現在の分(Minute)を2桁の文字列に変換し、変数CheckOutMinuteに保存する
現在地の座標をGoogleMapのURLに変換
緯度経度を取得して格納
緯度列のDefault値に下記を設定
If(IsBlank(Parent.Default)=true,Location.Latitude,Parent.Default)
経度列のDefault値に下記を設定
If(IsBlank(Parent.Default)=true,Location.Longitude,Parent.Default)
成果物レビュー
一通りの動作確認は終わったのですが、明日2日後に迫った出張で実際に利用してみてから改めてレビューしたいと思います。
(2025/8/11更新)
自宅以外で初めて緯度&経度の計測とGoogleMapURLへの変換に挑みましたが、正確に捕捉することができました。Glideで位置情報の記録が簡単にできることが魅力に感じ、ぜひ実用に活かしたいと思ったので、形にすることができて良かったです。
改善点というか、よく調べたいと思ったこととしては通信が不安定になり、二重投稿されてしまう事象が発生しました。
併せて、リストには添付されている画像がSharepointへ格納する時点で取得できない事象が発生しています。このケースの場合、添付ファイルがないとみなされ、リンクなしの投稿で成功していました。
➡無理矢理な対処方法ではありますが、HasAttachmentsの分岐からさらにFalse側でも添付ファイルを取得させ、結果によって処理を分岐させてみました。実行履歴の画像を差し替え済みです。
ローカルに格納せずサーバへ直接保管する仕様では、実用に向けて限界があるのではと感じました。
また、例えば社内の複数部署へ展開した場合、投稿先のTeamsのチャネルは変数で格納することで分岐が作れそうな気もしましたが、格納先のフォルダのロケーションは固定にならざるを得ず、ある程度情報共有が許されている部署にしか展開できなさそうです。
環境設定ファイルのようなものが作れたら、もっと汎用性を持たせられるのでは…と思案してみました。
が、もしかするとそこまで利用人数が増えた場合には、買い切りのパッケージアプリを検討したほうがいいのかもしれないですね。
ラップして解決するのであれば、社内に権限付与を相談してみようかな。
改善したいところ
-
せっかくGoogleMapのURLまで生成できたのに、リンクが効いていないところはどうにか改善したい➡ Teamsの投稿では無事に解決しました -
Sharepointに連携するなら、共有、報告まで一気に終わらせたい(即時性は求められていないけれど、Teamsに投稿するか?悩みどころ)➡ 画像はSharepointのドキュメントライブラリに格納し、リンク先を投稿する形で実装しました - 本当は画像を直接投稿したいので、引き続き格闘します