Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Google Apps Script やってる鰹🐟の初めてのPower Apps

DEmodoriGatsuO
September 04, 2022

Google Apps Script やってる鰹🐟の初めてのPower Apps

気ままに勉強会 #30
Speaker De'modori Gatsuo 出戻りガツオ🐟
@DemodoriGatsuo
- Citizen Developer - 市民開発者そして業務改善士
- Mr.DevOps ITを楽しんで世の中を盛り上げたい🐟🐟
- Skill - Python ,VBA,Power Apps,Power Automate,Powe BI,Google Apps Script
- 🍺🚙👦👧

https://twitter.com/DemodoriGatsuo

Date: 2022/09/03 20:00 - 21:30

Title:

Google Apps Script
やってる鰹🐟の
初めてのPower Apps

~アプリ解説編~
- 工夫してみたポイント + 学び + 振り返り

出戻りガツオのPowerApps初体験に関する登壇資料です。
Google WorkspaceとMicrosoft Power Platformの連携について見解を発表しました。

当日ご参加いただいた方々につきまして、改めて深く御礼申し上げます。

- Movie
Speakerの都合により資料に動画を採用しました。
採用した動画について、YouTube(個人の動画資料ストック用のプレイリスト)にアップロードしましたので
そちらをご参考になさっていただければ幸いです。

ページ21 「BONITO」の怪奇現象🐟💦
https://youtu.be/-pWfRaAuzSI

ページ22 データ型の対処法 Case - 1
https://youtu.be/SKkLZz1KCGQ

ページ24 Google Apps Scriptの承認
https://youtu.be/7VzWf6BxZao

- Source Code (Sample)
今回記載したGoogle Apps Scriptのコードは下記のGitHubのリンクにアップしました。
単純なサンプルコードもあれば、私自身Qiitaなどで他者のコードを参考に記載した部分もございます。
あらかじめご了承ください。

# GitHub
https://github.com/DEmodoriGatsuO/Panda_Friends/tree/main/%E6%B0%97%E3%81%BE%E3%81%BE%E3%81%AB%E5%8B%89%E5%BC%B7%E4%BC%9A_30

【お詫び】
特殊なフォントを採用した関係でアップロードしたSlideが当日の内容通りになっていない可能性があります。

#PowerApps #気ままに勉強会 #出戻りガツオ🐟 #PowerPlatform #Microsoft #Google #GoogleWorkspace

- いつかGlobalデビューをする予定を立てているので、DeepLで👆の文章を全て翻訳した内容を追記します!

English Ver

Google Apps Script
The bonito I'm working on
My First Power Apps

~Apps Explained
- Points I tried to work out + Learning + Reflections

This is a presentation material about the first experience of PowerApps by a returning gatsuo.
We presented our views on the integration of Google Workspace and Microsoft Power Platform.

We would like to thank all those who attended the event.

- Movie
For the speaker's convenience, video was used in the presentation.
We have uploaded the videos to YouTube (a playlist for personal video stock).
We hope you will find it useful.

- Source Code (Sample)
The Google Apps Script code I have described here has been uploaded to the GitHub link below.
Some of the code is simple sample code, and some of it is my own code that I have referenced from other people's code on Qiita and other sites.
Please be aware of this.

Apology
Due to the use of a special font, the uploaded Slide may not be exactly the same as the content of the day.

#PowerApps #Study Group at your leisure #Debut Gatsuo🐟 #PowerPlatform #Microsoft #Google #GoogleWorkspace

Translated with www.DeepL.com/Translator (free version)

DEmodoriGatsuO

September 04, 2022
Tweet

More Decks by DEmodoriGatsuO

Other Decks in Technology

Transcript

  1. 🐼 Profile 出戻りガツオ🐟 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers. All

    rights reserved 2 @DemodoriGatsuo https://note.com/bonito_vba_gas - Name 出戻りガツオ🐟 - Job 給与計算担当(Not IT職・・・) 👆バックオフィス効率化リーダーらしい - Career ADをすぐ退職・・給与計算下請け、 病院本部、ERPパッケージベンダー - Skill Excelから始まった市民開発Life - Excel VBA - Google Apps Script - Python - RPA (WinAutomation – Power Automate for desktop) - Power Platform (NEW!!) ※Power BIのみ先行して始めていました! す ご い ひ と に な り た い な あ ガ ツ オ 🐟
  2. 🐼 Power Platformのきっかけ 熱意 & 特殊任務で 付与された - Office 365

    E3 - Power BI Pro 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers. All rights reserved 3 Power Apps イベント参加! Akira365パイセンの コメントの紹介で・・・ 上手くできてなかった 開発者プログラム加入に 成功! Power道スタート 🐟🐟 ようさん Akiraさん
  3. 🐼 作成したアプリ -「BONITO」 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers. All

    rights reserved 4 初めて作成したアプリは「ワークアウト記録アプリ」 • AppSheetで簡易版を作っていたので、その延長でチャレンジ ‒ Googleスプレッドシートで簡単にアプリ作成が成功! ‒ 入力フォームとしてはカンペキ! • AppSheetの機能 + 遊びをたくさん入れたい!! ‒ 凝ったビュー(グラフィックに生々しい実情を把握したい) ‒ 毎日使うことを想定して、楽しい機能をモリモリに入れたい ‒ Power Appsの可能性を知りたい! 時間をじっくりかけて、なるべく Power Appsを学ぶ機能としようとしました
  4. 🐼 ざっくり機能紹介! Top 画面 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers.

    All rights reserved 6 MSN天気 Planner 未購入マンガリスト Google Apps Power BI Google Sheetを データソースにした ダッシュボード なじみのボタンの デザインを参考に🐣
  5. 🐼 ざっくり機能紹介! 入力 画面 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers.

    All rights reserved 7 Edit Form Menuに応じて +-しやすく👀✨ 楽しく見るため だけのView 🐟🐟 コンテナの扱い に苦労・・・ 🐟
  6. 🐼 ざっくり機能紹介! 記録 画面 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers.

    All rights reserved 8 Menu別に集計 Collectionが ムズカシイ🐟✨ Log ワークアウトごとに入力 するのでデータ量が多く なってしまう
  7. 🐼 ざっくり機能紹介! Confirm🦍🦍 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers. All

    rights reserved 9 が ん ば る か 超 が ん ば る か ど っ ち な ん だ い ? Yes: 継続入力 No : Mainへ
  8. 🐼 ざっくり機能紹介! YouTube 画面 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers.

    All rights reserved 10 YouTube Data API v3を 使った My YouTube Player !! Twitterでも反応が多かった 部分です 👀👀✨ ✨ ✨ ✨ 後ほど公開! マグロ先輩のchannel表示させていた だきました🐟
  9. 🐼 ざっくり機能紹介! プランクチャレンジ 画面 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers.

    All rights reserved 11 プランク 3分間チャレンジ!! • 文字通り3分間プランクが実施できるかチャレンジする タイムキーパーアプリです! • Timerコントロールを学ぶ上でかなり参考になりました! • もっとも参考にさせていただいたのは よう@非IT企業のコーポレートIT さんのブログです! https://yo-yon.hatenablog.com/entry/powerapps20210628
  10. 🐼 ざっくり機能紹介! ボイスレコード・音楽 画面 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers.

    All rights reserved 13 出戻りガツオのお遊び • ボイスパーカッション🥁トレーニング! BomBoom!!ドュゥルウウツュルツクルタカトュトゥ!! • Media Controlのお試しMenu 参考は「甘茶の音楽工房」♪ https://amachamusic.chagasi.com/
  11. 🐼 Google と Power Platform - 所感 - 2022/9/4 Copyright

    (c) 2022, 気ままに勉強会 Lovers. All rights reserved 15 Dataverse、SharePoint、Excel OnlineといったMicrosoft製品ではな くGoogle Workspaceを使う上でのポイント – 出戻りガツオの私見🐟 - メリット👍 🐼 Googleスプレッドシートならではの関数が使える -配列関数をはじめ、スプレッドシートの強力な機能が使える QUERY関数やIMPORTRANGE関数など 🐼 Google Apps Scriptの機能を使える ・・・etc デメリット😟 🐼 データ型が基本的にString(文字列)型で評価される(かんじがする) - Edit(編集)では データソースに(‘)シングルクオーテーションが入る 🐼 画像の表示などPower Appsのリッチな機能を使う上では物足りない ・・・etc
  12. 🐼 Google Workspaceで広がる可能性 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers. All

    rights reserved 16 本日は勉強会のテーマとして、Googleとうまく付き合うアイディアと Googleだからこそできることを解説します! 🐼 Google Apps Scriptでデータ型をコントロールする 🐼 Power AppsでMy YouTube Playerを作ろう! - YouTube Data API v3 🐼 振り返り …etc
  13. 🐼 Google Apps Scriptについて 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers.

    All rights reserved 17 Google Apps Script(略称 GAS ガス)は、Java Scriptベースの開発環境不 要のプログラミング言語です! 🐼 制限があるものの自動実行が可能!クラウドで自動化が実現✨ 🐼 Google Workspaceのサービスをつなげるマエストロ! 🐼 HTTPリクエストもどんとこい、Webスクレイピングもイケる🐟 🐼 Office Scriptも兄弟分のようなものなので学習することに損はない 👆少し乱暴な表現です… 出戻りガツオ🐟の簡単な紹介!
  14. 🐼 Demoアプリでデータを入力すると・・・① 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers. All rights

    reserved 19 Google Sheetをデータソースにしたデータで入力をすると ※実際にやりますね🐟 • 書式: 数値 • Update : Value(ThisItem~) • 書式: テキスト • Update : DateValue(ThisItem~) • 書式: 数値 • Update : Value(ThisItem~)
  15. 🐼 Demoアプリでデータを入力すると・・・② 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers. All rights

    reserved 20 入力値の先頭に (‘)シングルクオーテーションが入る データの読み込み時にPower Appsの Value関数など使えば問題ないが、 スプレッドシートの関数(SUM関数) など正しく機能しなくなる🐟
  16. 🐼 データ型の対処法 シングルクオーテーションを消去 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers. All

    rights reserved 23 /* * 気ままに勉強会 * スクリプトでデータ型を修正する * 【方法】 * データを配列に格納して、同じ範囲に代入するだけ! */ // sample function myFunction() { // 1. シートを指定する const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1'); // 2. データがある範囲を取得する const range = sheet.getDataRange(); // 3. 範囲のデータを配列に格納する const values = range.getValues(); // 4. 範囲に配列を代入する range.setValues(values); } はじめ方!🐟 1. スプレッドシートのタブ [ 拡張機能 ] から[ Apps Script ]をクリック 2. コードを書く →のサンプルでOK! エディタ
  17. 🐼 データ型の対処法 UNIXタイムスタンプ 対応 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers.

    All rights reserved 25 // 3. 範囲のデータを配列に格納する let values = range.getValues(); // !. UNIXタイムを修正する for(let i=1; i < values.length; i++){ if(Object.prototype.toString.call(values[i][0]) == '[object String]'){ values[i][0] = Utilities.formatDate(new Date(Number(values[i][0])),"Asia/Tokyo","yyyy/MM/dd HH:mm:ss") } } // 4. 範囲に配列を代入する range.setValues(values); } 配列の内容を精査して UNIXタイムをyyyy/MM/dd HH:mm:ssに 変換するステップを挿入する 1970年1月1日午前0時0分0秒から 換算した経過ミリ秒数! これを日付型のデータに評価しなおす!
  18. My YouTube Player Power Apps での Audio と Video のコントロール

    YouTube ビデオを再生する 1. Video コントロールを追加し、その Media プロパティを二重引用符で囲まれた YouTube ビデオの URL に設定します。 2. F5 キーを押し、Video コントロールの再生ボタンをクリックまたはタップして、クリップを再生します。 3. 既定のワークスペースに戻るには、Esc キーを押します。 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers. All rights reserved 26 引用: Microsoft ドキュメント https://docs.microsoft.com/ja-jp/power-apps/maker/canvas- apps/controls/control-audio-video
  19. 🐼 出戻りガツオのYouTube Player🐟 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers. All

    rights reserved 27 ギャラリーから見たい動画を選択できる仕様に! - 画像はようさんの業務ハックLabです!
  20. 🐼 YouTube Data API v3🐟 2022/9/4 Copyright (c) 2022, 気ままに勉強会

    Lovers. All rights reserved 28 Google Apps Scriptの「YouTube Data API v3」を利用し、 YouTubeの情報を自在に手にすることができます! レファレンス: https://developers.google.com/youtube/v3/docs activities channelBanners channels guideCategories playlistItems playlists search subscriptions thumbnails videoCategories videos リソース 出戻りガツオのデータ収集フローの例 channels Channel情報を取得 playlistItems Channel内の全ての動画の IDを取得 Videos 動画の詳細をGet! ・サムネイルのリンク、動画のタイトル、アップロード した日付、ID、動画の説明 二次元配列にして・・・
  21. 悔しかったポイント、振り返り 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers. All rights reserved

    30 Power Appsの初チャレンジで、このツールはこんなことが悔しかったです!! オブジェクトの命名規則が 全然守れていない • コーディング規約を改めて見直す • 規約にないことはどうする?? コレクションの扱いが難しいん じゃあ~ • 二次元配列とは別物! • 乱立するコレクション、コツは?? グローバル変数とローカル変数 の使い分け • Set関数とUpdateContext関数があ るけどどう使い分けるのが理想?? • すっきり定義する方法は? 関数を活かしたオブジェクトの 配置、装飾ができていない • オブジェクトのプロパティを参照し ながら配置を設定できる強み • やりすぎはスパゲッティ?? コネクタ使いすぎじゃない?の 疑い • 固定的なデータは毎回コネクタを呼 び出して参照するものなのか?? • ときおりErrorで呼び出せない かなり曲者! コンテナさん! • レイアウトは決まるが、自由に配置 できないコンテナ・・・ • 整理しやすいが入れ子の入れ子で…
  22. 🐼 他ツールの機能を活かせたポイント、今後のチャレンジ! 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers. All rights

    reserved 31 ストレッチしてやってみた工夫ポイントを、ほかにもいくつかご紹介する と🐟🐟 Google主体で努力していた人たちも、その技術を活かして Power Platformの機能を活用することができる!! 工夫ポイント👀✨ ツール 詳細 Gmailに届いたconnpassのメールからイベント情報を 収集! Google Apps Script 正規表現で必要な情報を抜き出してデータ ソースを作る Gmailに届いたベルアラートの新刊通知から、 購入予定をPlannerに追加! Power Automate Office Script 対象のメールを受信次第Automateが走る 正規表現はOffice Script
  23. 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers. All rights reserved 32

    いろいろ『つながる』 だからPower Platformは楽しい!
  24. 次回の「気ままに勉強会 #31」は! 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers. All rights

    reserved 35 「ワイガヤでPower Appsをアップデートしてみよう!!」 お借り しながら 初挑戦の 躓き点の 振り返りを シェアした いです! みんなの 知恵を 😺 🐔 🙉 🐶 🐺 🦁 🦒 🦝 🦊 🐮 🐷 🐗 🐭 🐹 🐨 🐸
  25. 2022/9/4 Copyright (c) 2022, 気ままに勉強会 Lovers. All rights reserved 36

    Power Apps猛者、アドバイスくださる方をはじめ、 ほかにも私みたいな 「Power Appsをこれからやってみようかな!」という 人も含めて、 是非、次回ご参加ください🙇🙇🙇