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
Yusuke S.
June 29, 2019
Technology
1
470
GAS for DTPer -- はじめの一歩
DTP Scripterに向けたGoogle Apps Scriptのはじめの一歩です
Yusuke S.
June 29, 2019
Tweet
Share
More Decks by Yusuke S.
See All by Yusuke S.
InDesignのスクリプトを使い倒そう!
uskes
0
1.1k
[page2020] スクリプトで未然に防ぐInDesignの不具合と作業ミス
uskes
1
2.2k
品質を担保するInDesignスクリプト
uskes
0
340
Other Decks in Technology
See All in Technology
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
110
いま注目のAIエージェントを作ってみよう
supermarimobros
0
300
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
840
Modern Linux
oracle4engineer
PRO
0
100
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
170
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
280
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
180
DroidKaigi 2025 Androidエンジニアとしてのキャリア
mhidaka
2
320
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
21
11k
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
210
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.8k
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
180
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Embracing the Ebb and Flow
colly
87
4.8k
Scaling GitHub
holman
463
140k
4 Signs Your Business is Dying
shpigford
184
22k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Building Applications with DynamoDB
mza
96
6.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Into the Great Unknown - MozCon
thekraken
40
2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
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を利用していれば業務効率化の効果大