Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Google Apps Scriptの良さについてしゃべる資料
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Taketoshi Aono(青野健利 a.k.a brn)
September 21, 2018
Programming
530
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Google Apps Scriptの良さについてしゃべる資料
GASでUI作ったり claspで管理したり
GASの実行環境についてとか
Taketoshi Aono(青野健利 a.k.a brn)
September 21, 2018
More Decks by Taketoshi Aono(青野健利 a.k.a brn)
See All by Taketoshi Aono(青野健利 a.k.a brn)
document.write再考
brn
7
3.2k
Parsing Javascript
brn
14
9.6k
JSON & Object Tips
brn
1
610
CA 1Day Youth Bootcamp for Frontend LT
brn
0
1.2k
Modern TypeScript
brn
2
890
javascript - behind the scene
brn
3
830
tc39 proposals
brn
0
1k
プロダクト開発とTypeScript
brn
7
3k
React-Springでリッチなアニメーション
brn
1
790
Other Decks in Programming
See All in Programming
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
340
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
1.1k
Vapor Mode でアクセシビリティは 壊れないか検証した話
fuqda
1
280
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
130
Kotlinize Is Not Just Converting to Kotlin
chigichan24
1
200
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
140
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
2k
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
450
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
240
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
180
Kotlinの15年とServer-Side Kotlin
n_takehata
1
170
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
12
7.7k
Featured
See All Featured
The SEO Collaboration Effect
kristinabergwall1
1
610
Making the Leap to Tech Lead
cromwellryan
135
10k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
Faster Mobile Websites
deanohume
310
32k
The Invisible Side of Design
smashingmag
301
52k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
750
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
290
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
290
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
ラッコキーワード サービス紹介資料
rakko
5
5.6M
Transcript
amazing Google Apps Script
Name @brn (ꫬꅿ⨳ⵃ) Occupation ؿٗٝزؒٝسؒٝآص،٥ط؎ذ؍ـؒٝآص، Company Cyberagent ،سذؙأةآؔ AI Messenger
OSS Contributor of V8 About http://info.b6n.ch
What is GAS?
GoogleAppScriptךֿה Google SpreadSheetהַד⢪ִ javascriptGoogleךؙٓؐس橆㞮ד䩛鯪ח㹋遤דֹ ExcelךVBAְזװא What is GAS?
Specification
• ES5湱䔲ךjavascriptָ鎸鶢דֹ • Webـٓؐؠ♳דرغحؚ〳腉 • fetchד㢩鿇ٔا٦أהך鸬䵿〳腉 • 㹋遤穠卓⥂㶷׃גⱄⵃ欽דֹ • 暴㹀ך勴⟝ד㹋遤ׇֿׁה〳腉(儗הַ)
• 6ⴓדة؎ي،ؐز What is GAS?
Use SpreadSheet as UI
䒦爡ךفٗتؙزדכ麊欽噟ְְָה涪欰ׅ ⡎׃ծך1א1אחGUI⡲ךכ鳞ְ(㹋꿀涸ז堣腉) ֽוؒٝآص،ח׃ַדֹזְ⡲噟כ幾׃ְ(頾蚚鯪幾) ֿדSpreadSheetUIה׃ג崞欽ׅ What is GAS?
• SpreadSheet♳דⰅ⸂ؿؓ٦ي⡲䧭ׅ • GASדⳢ椚鎸鶢 • fetchדAPI〨ֻ ֿד♧菙涸זCRUDז֮玎䏝㹋植דֹתׅկ ٔحثזGUI⡲儗䟝㹀׃גGASך噟سً؎ٝחꟼׅ皘 䨽כⴓꨄ׃גֶֻה獳嗂ָ知⽃חדֹגكة٦ What
is GAS?
GAS with TypeScript
@google/clasp GoogleAppsScriptCLIד盖椚דֹخ٦ٕ push׃deploy׃ GitHubדا٦أ؝٦س盖椚׃זָٗ٦ٕؕד涪דֹ 1.5.0⟃꣬TypeScriptח㼎䘔׃ GAS with TypeScript
@types/google-apps-script TypeScriptぢֽך㘗㹀纏 ֿד㘗ך䛷䜋「ֽזָGoogleApsScript穈鴥ؔـآؑ ؙز䪔ִ GAS with TypeScript
Appendix
Environment GASך㹋遤橆㞮חאְג javaךjs㹋遤橆㞮ד֮Rhinoד㹋鄲ׁגְשְ 鑐׃חE4X圓俑㹋遤ׅהדֹׯֲ Appendix
var xml = <items>! <item name="item-1/">! <item name="item-2"/>! </items>!
javascript1.7 • const • ꂁⰻ⺪ • ⴓⶴ➿Ⰵ ך〢ְ➬圫ָ⢪ִ植遤ך➬圫ה✼䳔䚍ָזְ ꂁⰻ⺪חꟼ׃גכֲ㶷㖈׃זְ Appendix
Summary SpreadSheetفٗزة؎فה׃גⵃ欽ֿׅהד UIך銲⟝㹀纏ָ״姻然חװװׅז UIְׂ㹋鄲ׅ㜥さח剑ⴱַזח⢪ְװֻׅ ءٝفٕח㹋鄲דֹ״ֲחկ 堣腉ׅفٗزة؎ف知僒ח㹋鄲דֹךד葺ְדׅկ