0
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 3 years have passed since last update.

GAS 基本文法 備忘録③【スプレッドシート】

Last updated at Posted at 2020-08-06

備忘録です。

GoogleAppsScript 完全入門で学んだことを備忘録としてまとめていきます。

  • 自分が知っていることや、解説、今は必要ないなと思ったことは省いています。
  • 解説などは自分が分かりやすい言葉で書いているので厳密に違うこともあるかもしれません。

スプレッドシートに関する主なクラス

クラス 説明
SpreadsheetApp Spreadsheetのグローバルオブジェクト
Spreadsheet Spreadsheetを操作する機能を提供
Sheet シートを操作する機能を提供
Range セル範囲を操作する機能を提供
無題のスプレッドシート_-_Google_スプレッドシート.png

スプレッドシートの取得

同スプレッドシート内に複数のシートがある場合

一度Google Appにアクセスしてシートを取得する。

// アクティブなスプレッドシートを取得
function myFunction() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  Logger.log(spreadsheet.getName());
}

// URLでスプレッドシートを取得
var url = 'https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxx/edit#gid=0'
spreadsheet = SpreadsheetApp.openByUrl(url);
Logger.log(spreadsheet.getName());

// 他にidで取得する方法もある
スクリーンショット 2020-08-06 8.50.24.png

スプレッドシートのシートが1つの場合

getActiveSheetメソッドを使用しシートを取得する。
Google Appへのアクセスは実行時間が遅くなる傾向なので、できるだけこちらの方法でシートの取得を行う。

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  Logger.log(sheet.getName());
}
スクリーンショット 2020-08-06 9.11.12.png

セルの範囲を取得する

Sheetクラスのメンバーを使用する。

構文
// A1とかA1:A5(アドレス)で指定
Sheetオブジェクト.getRange(アドレス)

// 行番号、列番号、行数、列数で細かく指定
Sheetオブジェクト.getRange(行番号, 列番号, 行数, 列数)

// データが存在するところを自動で取得
Sheetオブジェクト.getDataRange()

セルの範囲を操作する

Rangeクラスのメンバーを使用する。
下記のようなことができる。メンバーはめちゃくちゃたくさんあるので使う時に調べる。

  • セルの値を取得
  • セルに値や数値を追加する
  • 書式の設定
  • 並び替え

その他メモ

シート上のデータは配列でまとめて取得、入力するとスプレッドシートへのアクセス回数(実行時間)の削減が可能になる。

0
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
0
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?