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

GoogleAppsScript入門 vol.2

Kazuya Takami
September 15, 2020

GoogleAppsScript入門 vol.2

2020/09/15 19:00 TENNOSE オンライン登壇資料
https://www.facebook.com/events/308124120453861

Kazuya Takami

September 15, 2020
Tweet

More Decks by Kazuya Takami

Other Decks in Programming

Transcript

  1. <Driveサービス> クラス 提供サービス DriveApp グローバルオブジェクト Folder Googleドライブ内のフォルダを操作する機能を提供 FolderIterator Googleドライブ内のフォルダに反復処理をする機能を提供 File

    Googleドライブ内のファイルを操作する機能を提供 FileIterator Googleドライブ内のファイルに反復処理をする機能を提供 DriveApp Folder File 階層構造
  2. function myFunction() { let folder = DriveApp.getFolderById("フォルダーのID"); Logger.log(folder.getName()); let file

    = DriveApp.getFileById("ファイルのID"); Logger.log(file.getName()); } <フォルダーとファイルの情報を取得> https://developers.google.com/apps-script/reference/drive/drive-app ※DriveApp クラスリファレンス return Folder クラス return File クラス
  3. function myFunction() { let folder = DriveApp.getFolderById("フォルダーのID"); folder.createFolder("test"); let file

    = DriveApp.getFileById("ファイルのID"); Logger.log(file.getName()); } <Folderクラスで指定フォルダにフォルダ作成> 「test」フォルダーが できた ※Folder クラスリファレンス https://developers.google.com/apps-script/reference/drive/folder
  4. function myFunction() { let folder = DriveApp.getFolderById("フォルダーのID "); //folder.createFolder("test"); let

    file = DriveApp.getFileById("ファイルのID "); Logger.log(file.getName()); let spreadsheet = SpreadsheetApp.openById("ファイルのID "); Logger.log(spreadsheet.getName()); } <スプレッドシートの情報を取得> Fileと同じID指定だが スプレッドシートの オブジェクトとして 取得 ※SpreadsheetApp クラスリファレンス https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app
  5. function myFunction() { let folder = DriveApp.getFolderById("フォルダーのID "); let spreadsheet

    = SpreadsheetApp.openById("ファイルのID "); let sheet = spreadsheet.getSheetByName("シート1"); Logger.log(sheet.getName()); } <シートの情報を取得> スプレッドシートの シート名を指定 ※spreadsheet クラスリファレンス https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet
  6. function myFunction() { let folder = DriveApp.getFolderById("フォルダーのID "); let spreadsheet

    = SpreadsheetApp.openById("ファイルのID "); let sheet = spreadsheet.getSheetByName("シート1"); let range = sheet.getDataRange(); Logger.log(range.getLastRow()); } <名簿データを取得> シート内のデータ範 囲(A1:A4)を自動判 定して取得 ※range クラスリファレンス データ範囲(A1:A4) の最終行(4)を取得 https://developers.google.com/apps-script/reference/spreadsheet/range
  7. function myFunction() { let folder = DriveApp.getFolderById("フォルダーのID "); let spreadsheet

    = SpreadsheetApp.openById("ファイルのID "); let sheet = spreadsheet.getSheetByName("シート1"); let range = sheet.getDataRange(); let data = range.getValues(); for (let i = 1; i < range.getLastRow(); i++) { folder.createFolder(data[i][0]); } } <名簿データを元にフォルダを作成> データ範囲(A1:A4) を配列として取得 配列の値(行,列)を 元にフォルダ作成
  8. function myFunction() { let calendar = CalendarApp.getCalendarById("カレンダーID"); Logger.log(calendar.getName()); let spreadsheet

    = SpreadsheetApp.openById("ファイルのID "); Logger.log(spreadsheet.getName()); } <カレンダーとスプレッドシートの情報を取得> カレンダーオブジェ クトを取得 ※CalendarApp クラスリファレンス https://developers.google.com/apps-script/reference/calendar/calendar-app
  9. function myFunction() { let calendar = CalendarApp.getCalendarById("カレンダーID"); let spreadsheet =

    SpreadsheetApp.openById("ファイルのID "); let sheet = spreadsheet.getSheetByName("シート1"); let range = sheet.getDataRange(); let data = range.getValues(); for (let i = 1; i < range.getLastRow(); i++) { calendar.createEvent(data[i][0], new Date(data[i][1]), new Date(data[i][2])); } } <カレンダーの生成> カレンダーオブジェ クトを取得 ※CalendarApp クラスリファレンス https://developers.google.com/apps-script/reference/calendar/calendar-app
  10. function myFunction() { ※省略 calendar.createEvent("テストイベント", new Date("2020/11/19 18:00"), new Date("2020/11/19

    19:00"), { description: "このイベントはたくさん人がくるよ", location: "〒880-0805 宮崎県宮崎市橘通東3丁目6番34号クロノビル2F", guests: "[email protected]", sendInvites: true } ); } <カレンダーのオプション設定> カレンダーオブジェ クトを取得
  11. function SALE(price) { var sale_rate = 0.2; return price *

    (1 - sale_rate); } <SALE関数の作成> 割引後の値段を return
  12. /** * 渡された金額に値引き率を引いた金額を返すカスタム関数 * * @param {Number} 金額 * @return

    {Number} 値引き後金額 * @customfunction */ function SALE(price) { var sale_rate = 0.2; return price * (1 - sale_rate); } <SALE関数の作成> コードヒントが出るよ うに設定しましょう。