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
GAS for DTPer -- はじめの一歩
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yusuke S.
June 29, 2019
Technology
490
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GAS for DTPer -- はじめの一歩
DTP Scripterに向けたGoogle Apps Scriptのはじめの一歩です
Yusuke S.
June 29, 2019
More Decks by Yusuke S.
See All by Yusuke S.
InDesignのスクリプトを使い倒そう!
uskes
0
1.2k
[page2020] スクリプトで未然に防ぐInDesignの不具合と作業ミス
uskes
1
2.3k
品質を担保するInDesignスクリプト
uskes
0
380
Other Decks in Technology
See All in Technology
MIRU 2026 チュートリアル
keisuke198619
0
880
【AG-UI × A2UI × MCP Apps】Generative UIをやさしく解説する
nrinetcom
PRO
1
100
[しろおび夏祭り2026] チャットするAIから、作業するAIへ - 使われ方の変化と、その裏側で起きていること
kk0n
0
1.7k
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
560
攻撃と防御で学ぶAI時代のプロダクトセキュリティ演習
recruitengineers
PRO
8
2.3k
Redmine 7.0 新機能・機能強化解説(OSC2026京都ダイジェスト版)
vividtone
1
230
モバイルアプリ開発概論2026
recruitengineers
PRO
5
530
ホームラボ紹介
y_sera15
0
140
変化の早いClaude Codeを 書籍に落とし込む
oikon48
7
1.4k
Forza Horizon 6 のテレメトリ機能で 自動運転に使えそうな学習データを集める話
henjin0
0
150
【CEDEC2026】ゲームシナリオライターを支援するAIツール開発の実践 ― 設計とプロンプトの工夫 ―
cygames
PRO
1
780
サイバー捜査員研修(後半)
nomizone
1
830
Featured
See All Featured
Google's AI Overviews - The New Search
badams
0
1.1k
Practical Orchestrator
shlominoach
191
12k
GraphQLとの向き合い方2022年版
quramy
50
15k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
400
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
420
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
930
Unsuck your backbone
ammeep
672
58k
Visualization
eitanlees
152
17k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.2k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
680
Transcript
DTPerのスクリプトもくもく会 #13 Uske_S GAS for DTPer はじめの一歩
Uske_S DTPerのスクリプトもくもく会 #13 • GASの概要 • GASでできること • GAS周辺情報 目次
― GAS for DTPer • まずは動かしてみる • オブジェクトモデルの比較 • GASでの値の出し入れ • まとめ
Google Appsとは、 Google が提供するオンラインアプリケーションパック。 Calendar、Gmail、Docs、Drive、Sheets、そしてSlidesなどがあります。 Google Apps Scriptとは、それらAppsを操作するクラウド上の JavaScriptプラットフォームで す。
GAS(Google Apps Script)の概要
今日の目標 1 GASでどんなことができる のか? を知ってもらう 2 スクリプトエディタを 操作できるようになる 3 簡単なスクリプトを
書けるようになるための情 報を整理する
GASでできること • スプレッドシートの内容からメールを作成して送信する • カレンダーの予定をスプレッドシートに記入 • メールの内容を検索してスプレッドシートに一覧表示 • スプレッドシートで使えるオリジナル関数を定義する
GASでできること • スプレッドシートの内容からツイート • connpassのイベントを特定のキーワードで検索して自分宛に定期的にメー ル送信 • ツイートを検索しSlackに内容を投稿
GASの周辺情報 • 公式ドキュメント https://developers.google.com/apps-script/reference/ • コミュニティフォーラム https://groups.google.com/forum/#!forum/google-apps-api-japan • GCPUG(ユーザーグループ) https://gcpug.jp/
GASの周辺情報 • G Suite Developer Hub(Apps Script) https://script.google.com/home ここで開発したスクリプトの一括管理が可能。 新規スクリプト作成もここからできる。
まずは作成してみよう。
まずは動かしてみる 新規スクリプトボタンを押すとスクリプトエディタが起動します。 この myFunction() { } の間にスクリプトを書いていく形になります。
続いてGoogle Driveに新規スプレッドシートを作成します。 開いたスプレッドシートのアドレスからID部分をコピーしましょう。
function setContents() { var ssObj = SpreadsheetApp.openById("[シートID]"); var sheetObj =
ssObj.getActiveSheet(); var rangeObj = sheetObj.getRange("A1"); rangeObj.setValue("Hello, World!"); }; このコードをスクリプトエディタに入力して実行してみましょう。 [シートID] に先ほど作成したスプレッドシートのIDを入力します。
A:保存ボタン(⌘+S) B:トリガーボタン C:実行ボタン D:デバッグボタン E:実行する関数 コンソールログを利用した 場合(後述)は、 ⌘+Enter でログを表示できる
実行すると以下のようなダイアログが出るはずです。 「許可を確認」ボタンを押してください。
以下の流れでスクリプトを承認します。
以下の流れでスクリプトを承認します。
以下の流れでスクリプトを承認します。
以下の流れでスクリプトを承認します。
これで、指定したスプレッドシートの A1セルに値をセットできました。
ログとして何か記録したい場合( ExtendScriptでいうところの$.writeln())は、 Logger.log() メソッドを利用します。
デバッグ中にスクリプトを止めて 変数の値などを確認する場合 は、スクリプトの任意の場所に ブレークポイントを設定してお き、デバッグボタンを使ってデ バッグします。
ExtendScript Application -Document -TextFrame -Contents ExtendScriptとのオブジェクトモデルの比較 Google Sheet SpreadsheetApp -Sheet
-Range -Value
GASでの値(Value)の出し入れ ExtendScriptでは値を代入する、という形で実装しますが、 e. g.) app.activeDocument.textFrames[0].contents = “hoge”; GASではgetter/setterというメソッドの引数に値を渡してセットします。 e. g.)
SpreadsheetApp.getActiveSheet().getDataRange().setValues(hoge); 具体的なメソッドの種類や使い方は公式ドキュメントを参照して下さい。
まとめ • まずはやってみよう! サンプルはネットにゴロゴロ転がっている • オブジェクトモデルが何となく掴めればかんたん • 業務にGoogle Appsを利用していれば業務効率化の効果大