1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GAS備忘録(Google Apps Script)

Last updated at Posted at 2023-10-12

Abstract

GAS備忘録. 主にGoogleSpreadSheetについて。

内容

基本

  • その0. スタンドアロン型 or コンテナバインド型を選ぶ
    • スタンドアロン型
      • Googleサービス全般と連携した独立のスクリプトを作りたい場合
      • 複数のスプレッドシートを活用したい場合もこれ
      • Googleドライブから新規作成
    • コンテナバインド型
      • スプレッドシート操作中にちょっとした自動化したいだけの場合
      • Google Sheetsのスクリプトエディタから作成
  • その1.基本の4オブジェクト
    • SpreadsheetAppオブジェクト
      • スプレッドシートアプリの最上位オブジェクト
    • SpreadSheetオブジェクト
      • 1個のファイル全体
    • Sheetオブジェクト
      • 左下の「シート1」「シート2」みたいな一個一個のシート
    • Rangeオブジェクト
      • セルの範囲
  • その2.スプレッドシートの取得法の3種類
    • アクティブなスプレッドシートを取得
    • URLを指定して取得
    • IDを指定して取得
  • その3. シートの取得方法
// コンテナバインドスクリプトであれば、これで取得できる
var spreadsheet_1 = SpreadsheetApp.getActiveSpreadsheet();

// URLを使って取得できる
var url = 'https://docs.google.com/spreadsheets/d/xxxxxx/edit#gid=0';
var spreadsheet_2 = SpreadsheetApp.openByUrl(url);

// IDを使って取得できる
var id = 'xxxxxx';
var spreadsheet_3 = SpreadsheetApp.openByID(id);

  • その3. メソッド
    • 値取得
function myFunction() {
    var sheet = SpreadsheetApp.getActiveSheet();

    // セルのデータを取得するときは getValue() を用いる
    Logger.log(sheet.getRange('A2').getValue()); // Tom


    // 指定した範囲のデータを取得するときは getValues() を使用する
    Logger.log(sheet.getRange('A3:C4').getValues()); // [[John, male, 28.0], [Emma, female, 31.0]]
}

- 値入力
function myFunction() {
    var sheet = SpreadsheetApp.getActiveSheet();

    // セルにデータを入力するときは setValue() を用いる
    sheet.getRange('A5').setValue('Anthony');
    Logger.log(sheet.getRange('A5').getValue()); // Anthony

    // 指定した範囲にデータを入力するときは setValues() を使用する
    sheet.getRange('B5:C5').setValues([['male', 34]]);
    Logger.log(sheet.getRange('A5:C5').getValues()); // [[Anthony, male, 34.0]]
}

- 行の追加
function myFunction() {
    var sheet = SpreadsheetApp.getActiveSheet();

    // データを追加する
    sheet.appendRow(['Luna', 'female', 30]);

    // 式も代入できる
    sheet.appendRow([null, null, '=AVERAGE(C2:C6)']);
}

参考文献

https://note.com/skipla/n/n0803937a0887
https://michikusa.biz/introduction-to-gas-2/
https://qiita.com/zumi0/items/82ebe9797811c8d670ac#%E3%82%B9%E3%83%97%E3%83%AC%E3%83%83%E3%83%89%E3%82%B7%E3%83%BC%E3%83%88
https://qiita.com/km42428/items/845975277e635e70adfc

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?