エンジニアのためのspread sheets講座101 - google apps script -

26
エエエエエエエエエ SpreadSheets エエ 101

Upload: yuki-katada

Post on 13-Apr-2017

594 views

Category:

Engineering


3 download

TRANSCRIPT

Page 1: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

エンジニアのためのSpreadSheets 講座 101

Page 2: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

Who am I

• 名前 : 片田 雄樹• 主な生息地 : マークシティ 17 階• きもち : 素敵なきもち• 学歴 : UC Berkeley 卒• Twitter: @hanko_chusha ( 現状 Follower 2人 )

Page 3: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

最初は切実な思いからであった…複数の CSV ファイルからスプレッドシートを自動生成したい。生成したくてしょうがない。夜も眠れない。そんな眠れない夜が続きました…

Page 4: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

Outline

1. Google Apps Script とは ?

2. Google Sheets をコーディング !

Page 5: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

Google Apps Script とは ?

Page 6: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

Google Apps Script is a scripting language based on JavaScript that lets you do new and cool things with Google Apps like Docs, Sheets, and Forms.

Google Apps Script とは、 docs 、 sheet 、 form の様な Google アプリで新しいことやクールなことをするための Javascript ベースのスクリプト言語である。

There's nothing to install — we give you a code editor right in your browser, and your scripts run on Google's servers.

何もインストールする必要はありません。ブラウザー上で動くエディターとスクリプトを動かすためのサーバーはこちらで用意しました。

Google Apps Script とは…

“Overview of Google Apps Script”https://developers.google.com/apps-script/overview

Page 7: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

つまり、 Google Apps (Gmail や Google Drive など ) をJavascript でもっとイジイジできるようにしちゃおうぜ!ってことです。

対応アプリGoogle SheetsGoogle DocsGoogle FormsGoogle SitesGoogle DrivesGmailGoogle CalendarGoogle ContactsGoogle GroupsGoogle MapsGoogle Translate

Page 8: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

Google Apps Script の良いところ• かなり簡単• ドキュメントが充実している ( 英語のみ )

• Google Apps 同士での連携もできる• Web App として簡単に公開できる。

Page 9: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

エンジニア =: コーディング出来る人のための

Google Sheets

講座!

Page 10: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

Google Sheets をコーディング!

Page 11: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

Google Apps Script を使う方法は大きく分けて2種類あります。1.Standalone2.Google Apps 依存

Page 12: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

Stand-alone

その名の通りスクリプト単体で動きます。ユースケース• 新しく Spreadsheet を作りたいとき• Google Drive 内から Spreadsheet を探したいとき な

Page 13: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

Google Drive 内などから起動します

Page 14: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

Google Apps 依存

起動している Google App の中で動かします。ユースケース• 開いている Spreadsheet 内でスクリプト処理をしたい時 など

Page 15: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

作成中のスプレッドシート内のツール > スクリプトエディタから起動します。

Page 16: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

Google Apps Script を使っていく上で最も重要な事はドキュメント見ることです。ドキュメントを見ればやりたいことが何でも載っています。

Page 17: エンジニアのためのSpread Sheets講座101 - Google Apps Script -
Page 18: エンジニアのためのSpread Sheets講座101 - Google Apps Script -
Page 19: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

Spread Sheet App

Spread Sheet

Sheet

Range

Page 20: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

Spreadsheet App クラスSpreadsheet サービスを利用するためのクラス。スプレッドシート (Spreadsheet) を作成したり、操作したりできる。

Spreadsheet クラスSpread Sheet を操作するためのクラス。シート (Sheet) を作成したり、操作したりできる。Sheet クラスSheet を操作するためのクラス。シート内のセルの範囲 (Range) にアクセスしたりできる。Range クラス

Range を操作するためのクラス。

Page 21: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

例えば次のシナリオがあるとします。やりたいこと :

新しいスプレッドシートの1つ目のシートの範囲を指定して色を変えたい。

Page 22: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

コーディングの流れ

SpreadsheetApps クラスで Spreadsheet を作成。Spreadsheet クラスで Sheet を作成。Sheet クラスで Range を生成。最後に、 Range クラスのメソッドを呼んで色を塗る。

Page 23: エンジニアのためのSpread Sheets講座101 - Google Apps Script -
Page 24: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

Dropdown List 作成するなど、もう少し複雑な操作をする場合は他にも色々なクラスを使います。

Page 25: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

こうして、 CSV から Spreadsheet を自動生成するスクリプトを無事作り、安眠できる日々を迎えることができました…

Page 26: エンジニアのためのSpread Sheets講座101 - Google Apps Script -

ご静聴ありがとうございました。