Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
20220428_実務で使える Google Apps Script ライブデモ勉強会#3
Search
Apachan
April 28, 2022
Programming
0
510
20220428_実務で使える Google Apps Script ライブデモ勉強会#3
Apachan
April 28, 2022
Tweet
Share
More Decks by Apachan
See All by Apachan
20220706_Google Apps Scriptを実演で学ぶ~ GAS × Slack ~
apachan
2
1.5k
20211111_実務で使えるGASライブデモ勉強会#2
apachan
0
110
20210921_LT_RPAの現実
apachan
0
2.6k
20210827_RPA勉強会!Google Apps Talk~GASでGmail活用術~
apachan
0
10k
実務で使えるGASライブデモ勉強会
apachan
0
97
Other Decks in Programming
See All in Programming
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
1
110
All(?) About Point Sets
hole
0
220
connect-python: convenient protobuf RPC for Python
anuraaga
0
300
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
4
140
flutter_kaigi_2025.pdf
kyoheig3
1
360
分散DBって何者なんだ... Spannerから学ぶRDBとの違い
iwashi623
0
120
GeistFabrik and AI-augmented software development
adewale
PRO
0
190
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
5
1.1k
AIと協働し、イベントソーシングとアクターモデルで作る後悔しないアーキテクチャ Regret-Free Architecture with AI, Event Sourcing, and Actors
tomohisa
2
9.6k
Developing Specifications - Jakarta EE: a Real World Example
ivargrimstad
0
240
生成AIを活用したリファクタリング実践 ~コードスメルをなくすためのアプローチ
raedion
0
140
FlutterKaigi 2025 システム裏側
yumnumm
0
1.2k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
Balancing Empowerment & Direction
lara
5
760
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
How to Ace a Technical Interview
jacobian
280
24k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
11
940
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Designing Experiences People Love
moore
142
24k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Transcript
2021/04/28 1 ※ 本内容は個人的な見解であり、所属する組織と関係ありません。 実務で使える Google Apps Script ライブデモ勉強会#3 新しい出会いに準備万全!スマートな自己紹介
自己紹介 あぱchan @ApachanHonpo 3ヵ月15kg減 積立投資 某通信会社 2 複数活動中 2021年 11月
宣伝 3 徹底解説 RPAツール WinActor導入・応用 完全ガ イド 絶対失敗しない!ロボット 1000体導入してわかった RPA成功の秘訣
Google Apps Script 目的別リファレンス 実践サンプルコード付き GAS本発売間近!全面リニューアル!! 改訂版 2022/5/21 発売予定 2021/3 発売 2020/5 発売
改訂版 4 736P(初版496P) + PDF約150P Google Apps Script目的別リファレンス 実践サンプルコード付き 第2版
2022年5月21日発売予定 ・新IDE対応の大幅リニューアル ・200名育成の社内推進方法の紹介 ・使えるワンポイントテクニック
構成 5 章番 章名 章番 章名 1 Google Apps Script
基礎 11 WEB 2 JavaScript 基礎 12 Script 3 Spreadsheet 13 Blob 4 Gmail 14 Properties 5 Google Drive 15 日付・文字列・数値 6 Google Calendar 16 配列 7 Google Document 17 社内推進 8 Google Slides 18 ワンポイントテクニック 9 Google Form 19 サンプルスクリプト 10 UI PDF 特典
テーマ 6 新しい出会いに準備万全! スマートな自己紹介
Demo動画 7
ワークフロー 8 ② 自己紹介 テンプレート取得 ③ 自己紹介 スライド作成 自己紹介 フォーム入力
① 入力内容 取得 フォーム送信時 トリガー ※ スプレッドシート 利用なし
スプレッドシートの失敗パターン 9 最終行から取得データ取得 誤ってテキスト入力 ⇒最終行が変更
事前準備 10 (2) 自己紹介テンプレート (3) 保存用Googleスライド (1) Googleフォーム 自己紹介用Googleフォーム 事前にGoogeスライド(テンプレート)作成
作成した自己紹介スライドの保存
フロー 11 ② 自己紹介テンプレート取得 ③ 自己紹介スライド作成 ① 入力内容取得 フォーム送信された情報からFormResponseオブジェクト取得 FromResponseオブジェクトから、回答者メールアドレス、タイムスタンプ、各設問質問と回答取得
事前に用意したGoogleスライド(テンプレート)を取得 取得したスライドを保存用Googleスライドに追加 ①で取得した各値を②スライドへ反映(置換)
イベントオブジェクト 12 ケース① ケース② ケース③ フォーム 送信 シート 編集 スプシ
起動 イベントオブジェクト発生 ユーザー など ユーザー アドレス 値 など メールアドレス タイムスタンプ 回答内容 など 特定のイベントが起こると...
条件 13 ① コンテナバインドスクリプト ② トリガーとセット ③ トリガー設定した関数の引数から受け取り https://developers.google.com/apps-script/guides/triggers/events
引数の受け取り 14 function myFunction(e) { ~ }
イベントオブジェクト発生から取得 15 フォーム 送信 function myFunction(e) { console.log(e); } ①
イベントオブジェクトの発生 ③ イベントオブジェクトの中身 ② イベントオブジェクトの取得 { authMode: { めちゃ長い }, response: {}, source: {}, triggerUid: '9168778' } イベント オブジェクト FormResponse オブジェクト フォーム送信時のトリガー 引数で受け取り
FormResponseオブジェクト 16 FormResponseオブジェクト ItemResponseオブジェクト Itemオブジェクト 質問 (getTitle()で取得) 回答 (getResponse()で取得) Itemオブジェクト
(getItem()で取得) タイムスタンプ (getTimestamp()で取得) 回答者メールアドレス (getRespondentEmail()で取得) ItemResponseオブジェクト (getItemResponse()で取得)
ポイント 17 ・統一感のない自己紹介の撲滅 ・作成者負担の業務負担軽減 ・テンプレートを流用できる業務は他にもある?
End Of File 18