Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GAS for DTPer -- はじめの一歩

GAS for DTPer -- はじめの一歩

DTP Scripterに向けたGoogle Apps Scriptのはじめの一歩です

4d48f124038dc0ec88226769230c56e8?s=128

Yusuke S.

June 29, 2019
Tweet

Transcript

  1. DTPerのスクリプトもくもく会 #13 Uske_S GAS for DTPer はじめの一歩

  2. Uske_S DTPerのスクリプトもくもく会 #13 • GASの概要 • GASでできること • GAS周辺情報 目次

    ― GAS for DTPer • まずは動かしてみる • オブジェクトモデルの比較 • GASでの値の出し入れ • まとめ
  3. Google Appsとは、 Google が提供するオンラインアプリケーションパック。 Calendar、Gmail、Docs、Drive、Sheets、そしてSlidesなどがあります。 Google Apps Scriptとは、それらAppsを操作するクラウド上の JavaScriptプラットフォームで す。

    GAS(Google Apps Script)の概要
  4. 今日の目標 1 GASでどんなことができる のか? を知ってもらう 2 スクリプトエディタを 操作できるようになる 3 簡単なスクリプトを

    書けるようになるための情 報を整理する
  5. GASでできること • スプレッドシートの内容からメールを作成して送信する • カレンダーの予定をスプレッドシートに記入 • メールの内容を検索してスプレッドシートに一覧表示 • スプレッドシートで使えるオリジナル関数を定義する

  6. GASでできること • スプレッドシートの内容からツイート • connpassのイベントを特定のキーワードで検索して自分宛に定期的にメー ル送信 • ツイートを検索しSlackに内容を投稿

  7. GASの周辺情報 • 公式ドキュメント https://developers.google.com/apps-script/reference/ • コミュニティフォーラム https://groups.google.com/forum/#!forum/google-apps-api-japan • GCPUG(ユーザーグループ) https://gcpug.jp/

  8. GASの周辺情報 • G Suite Developer Hub(Apps Script) https://script.google.com/home ここで開発したスクリプトの一括管理が可能。 新規スクリプト作成もここからできる。

    まずは作成してみよう。
  9. まずは動かしてみる 新規スクリプトボタンを押すとスクリプトエディタが起動します。 この myFunction() { } の間にスクリプトを書いていく形になります。

  10. 続いてGoogle Driveに新規スプレッドシートを作成します。 開いたスプレッドシートのアドレスからID部分をコピーしましょう。

  11. function setContents() { var ssObj = SpreadsheetApp.openById("[シートID]"); var sheetObj =

    ssObj.getActiveSheet(); var rangeObj = sheetObj.getRange("A1"); rangeObj.setValue("Hello, World!"); }; このコードをスクリプトエディタに入力して実行してみましょう。 [シートID] に先ほど作成したスプレッドシートのIDを入力します。
  12. A:保存ボタン(⌘+S) B:トリガーボタン C:実行ボタン D:デバッグボタン E:実行する関数 コンソールログを利用した 場合(後述)は、 ⌘+Enter でログを表示できる

  13. 実行すると以下のようなダイアログが出るはずです。 「許可を確認」ボタンを押してください。

  14. 以下の流れでスクリプトを承認します。

  15. 以下の流れでスクリプトを承認します。

  16. 以下の流れでスクリプトを承認します。

  17. 以下の流れでスクリプトを承認します。

  18. これで、指定したスプレッドシートの A1セルに値をセットできました。

  19. ログとして何か記録したい場合( ExtendScriptでいうところの$.writeln())は、 Logger.log() メソッドを利用します。

  20. デバッグ中にスクリプトを止めて 変数の値などを確認する場合 は、スクリプトの任意の場所に ブレークポイントを設定してお き、デバッグボタンを使ってデ バッグします。

  21. ExtendScript Application -Document -TextFrame -Contents ExtendScriptとのオブジェクトモデルの比較 Google Sheet SpreadsheetApp -Sheet

    -Range -Value
  22. GASでの値(Value)の出し入れ ExtendScriptでは値を代入する、という形で実装しますが、 e. g.) app.activeDocument.textFrames[0].contents = “hoge”; GASではgetter/setterというメソッドの引数に値を渡してセットします。 e. g.)

    SpreadsheetApp.getActiveSheet().getDataRange().setValues(hoge); 具体的なメソッドの種類や使い方は公式ドキュメントを参照して下さい。
  23. まとめ • まずはやってみよう! サンプルはネットにゴロゴロ転がっている • オブジェクトモデルが何となく掴めればかんたん • 業務にGoogle Appsを利用していれば業務効率化の効果大