Class SpreadsheetApp

スプレッドシートアプリ

Google スプレッドシート ファイルにアクセスして作成する。このクラスは、スプレッドシート サービスの親クラスです。

プロパティ

プロパティタイプ説明
AutoFillSeriesAutoFillSeries自動入力値の計算に使用されるシリーズのタイプを列挙します。
BandingThemeBandingTheme考えられるバンドリング テーマを列挙します。
BooleanCriteriaBooleanCriteria条件付き書式のブール値の条件の列挙型。
BorderStyleBorderStyleRange に枠線を設定するために有効なスタイルの列挙型。
ColorTypeColorType使用可能なカラータイプを列挙します。
CopyPasteTypeCopyPasteType可能な貼り付けタイプを列挙します。
DataExecutionErrorCodeDataExecutionErrorCodeデータ実行で発生する可能性のあるエラーコードの列挙型。
DataExecutionStateDataExecutionStateデータ実行の可能な状態の列挙型。
DataSourceParameterTypeDataSourceParameterType使用可能なデータソース パラメータの型の列挙型。
DataSourceRefreshScopeDataSourceRefreshScope使用可能なデータソースの更新スコープの列挙型。
DataSourceTypeDataSourceType使用可能なデータソースのタイプを列挙します。
DataValidationCriteriaDataValidationCriteria範囲に設定できるデータ検証条件を表す列挙型。
DateTimeGroupingRuleTypeDateTimeGroupingRuleType日時のグループ化ルールの列挙型。
DeveloperMetadataLocationTypeDeveloperMetadataLocationTypeデベロッパー メタデータの場所の種類の列挙型。
DeveloperMetadataVisibilityDeveloperMetadataVisibilityデベロッパー メタデータの公開設定の列挙型。
DimensionDimensionスプレッドシートで使用できるディメンションを列挙します。
DirectionDirection矢印キーを使用してスプレッドシート内で移動できる方向の列挙型。
FrequencyTypeFrequencyType使用可能な頻度の種類を列挙します。
GroupControlTogglePositionGroupControlTogglePositionグループ コントロールの切り替えボタンが設定できる位置の列挙型。
InterpolationTypeInterpolationType条件付き書式のグラデーション補間タイプの列挙。
PivotTableSummarizeFunctionPivotTableSummarizeFunctionピボット テーブルの値の集計に使用できる関数の列挙型。
PivotValueDisplayTypePivotValueDisplayTypeピボット値を表示する方法の列挙型。
ProtectionTypeProtectionType編集から保護できるスプレッドシートの部分を表す列挙型。
RecalculationIntervalRecalculationIntervalスプレッドシートの再計算で使用できる間隔の列挙型。
RelativeDateRelativeDate日付ベースの BooleanCriteria で使用する値を計算するための相対日付オプションの列挙型。
SheetTypeSheetTypeスプレッドシートに存在する可能性のあるさまざまな種類のシートを列挙します。
SortOrderSortOrder並べ替え順の列挙型。
TextDirectionTextDirection有効なテキストによる経路案内の列挙。
TextToColumnsDelimiterTextToColumnsDelimiterテキストを列に分割するための事前定義された区切り文字の列挙型。
ThemeColorTypeThemeColorType使用可能なテーマのカラータイプを列挙します。
ValueTypeValueTypeSpreadsheet サービスの Range クラスから Range.getValue()Range.getValues() によって返される値型の列挙型。以下に示す列挙値は、NumberBooleanDateString に加えて使用できます。
WrapStrategyWrapStrategyセルの折り返しに使用される戦略の列挙型。

メソッド

メソッド戻り値の型概要
create(name)Spreadsheet指定された名前の新しいスプレッドシートを作成します。
create(name, rows, columns)Spreadsheet指定された名前と行数と列数を持つ新しいスプレッドシートを作成します。
enableAllDataSourcesExecution()voidすべてのタイプのデータソースでデータ実行を有効にします。
enableBigQueryExecution()voidBigQuery データソースのデータ実行を有効にします。
enableLookerExecution()voidLooker データソースでデータの実行を有効にします。
flush()void保留中のスプレッドシートの変更をすべて適用します。
getActive()Spreadsheet現在アクティブなスプレッドシートを返します。アクティブなスプレッドシートがない場合、null を返します。
getActiveRange()Rangeアクティブなシートで選択されている範囲を返します。アクティブな範囲がない場合、null を返します。
getActiveRangeList()RangeListアクティブなシート内のアクティブな範囲のリストを返します。範囲が選択されていない場合は null を返します。
getActiveSheet()Sheetスプレッドシート内のアクティブなシートを取得します。
getActiveSpreadsheet()Spreadsheet現在アクティブなスプレッドシートを返します。アクティブなスプレッドシートがない場合、null を返します。
getCurrentCell()Rangeアクティブなシートのアクティブな範囲のいずれかで選択されている現在の(ハイライト表示された)セルを返します。現在のセルがない場合、null を返します。
getSelection()Selectionスプレッドシートの現在の Selection を返します。
getUi()Uiスプレッドシートのユーザー インターフェース環境のインスタンスを返します。これにより、スクリプトでメニュー、ダイアログ、サイドバーなどの機能を追加できます。
newCellImage()CellImageBuilderCellImage のビルダーを作成します。
newColor()ColorBuilderColor のビルダーを作成します。
newConditionalFormatRule()ConditionalFormatRuleBuilder条件付き書式ルールのビルダーを作成します。
newDataSourceSpec()DataSourceSpecBuilderDataSourceSpec のビルダーを作成します。
newDataValidation()DataValidationBuilderデータ入力規則のビルダーを作成します。
newFilterCriteria()FilterCriteriaBuilderFilterCriteria のビルダーを作成します。
newRichTextValue()RichTextValueBuilderリッチテキスト値のビルダーを作成します。
newTextStyle()TextStyleBuilderテキスト スタイルのビルダーを作成します。
open(file)Spreadsheet指定された File オブジェクトに対応するスプレッドシートを開きます。
openById(id)Spreadsheet指定された ID のスプレッドシートを開きます。
openByUrl(url)Spreadsheet指定された URL のスプレッドシートを開きます。
setActiveRange(range)Range指定した範囲を active range として設定し、範囲内の左上のセルを current cell として設定します。
setActiveRangeList(rangeList)RangeList指定した範囲のリストを active ranges として設定します。
setActiveSheet(sheet)Sheetスプレッドシート内のアクティブなシートを設定します。
setActiveSheet(sheet, restoreSelection)Sheetスプレッドシート内のアクティブなシートを設定し、そのシート内の最新の選択を復元するオプションを設定します。
setActiveSpreadsheet(newActiveSpreadsheet)voidアクティブなスプレッドシートを設定します。
setCurrentCell(cell)Range指定したセルを current cell に設定します。

詳細なドキュメント

create(name)

指定された名前の新しいスプレッドシートを作成します。

// The code below creates a new spreadsheet "Finances" and logs the URL for it
const ssNew = SpreadsheetApp.create('Finances');
Logger.log(ssNew.getUrl());

パラメータ

名前説明
nameStringスプレッドシートの名前。

戻る

Spreadsheet - 新しいスプレッドシート

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets

create(name, rows, columns)

指定された名前と行と列の数を持つ新しいスプレッドシートを作成します。

// The code below creates a new spreadsheet "Finances" with 50 rows and 5
// columns and logs the URL for it
const ssNew = SpreadsheetApp.create('Finances', 50, 5);
Logger.log(ssNew.getUrl());

パラメータ

名前説明
nameStringスプレッドシートの名前。
rowsIntegerスプレッドシートの行数。
columnsIntegerスプレッドシートの列数。

戻る

Spreadsheet - 新しいスプレッドシート

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets

enableAllDataSourcesExecution()

すべてのタイプのデータソースでデータ実行を有効にします。

データソースのタイプがオンになっていない場合、データ実行で例外がスローされます。このメソッドは、すべてのデータソース タイプでデータ実行を有効にするために使用します。

// Turns data execution on for all types of data sources.
SpreadsheetApp.enableAllDataSourcesExecution();

// Opens the spreadsheet file by its ID. If you created your script from a
// Google Sheets file, use SpreadsheetApp.getActiveSpreadsheet().
// TODO(developer): Replace the ID with your own.
const ss = SpreadsheetApp.openById('abc123456');

// Gets the first data source sheet in the spreadsheet and refreshes the data.
ss.getDataSourceSheets()[0].refreshData();

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/bigquery.readonly

enableBigQueryExecution()

BigQuery データソースのデータ実行を有効にします。

BigQuery データソースのデータ実行は、有効になっていない場合に例外をスローします。

// Turns data execution on for BigQuery data sources.
SpreadsheetApp.enableBigQueryExecution();

// Opens the spreadsheet file by its ID. If you created your script from a
// Google Sheets file, use SpreadsheetApp.getActiveSpreadsheet().
// TODO(developer): Replace the ID with your own.
const ss = SpreadsheetApp.openById('abc123456');

// Gets the first data source sheet in the spreadsheet and refreshes the
// BigQuery data.
ss.getDataSourceSheets()[0].refreshData();

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/bigquery.readonly

enableLookerExecution()

Looker データソースでデータ実行を有効にします。

Looker データソースのデータ実行は、有効になっていない場合に例外をスローします。

// Turns data execution on for Looker data sources.
SpreadsheetApp.enableLookerExecution();

// Opens the spreadsheet file by its ID. If you created your script from a
// Google Sheets file, use SpreadsheetApp.getActiveSpreadsheet().
// TODO(developer): Replace the ID with your own.
const ss = SpreadsheetApp.openById('abc123456');

// Gets the first data source sheet in the spreadsheet and refreshes the
// associated Looker data.
ss.getDataSourceSheets()[0].refreshData();

flush()

保留中のスプレッドシートの変更をすべて適用します。

スプレッドシート オペレーションは、パフォーマンスを向上させるためにバンドルされることがあります(Range.getValue() を複数回呼び出す場合など)。ただし、スクリプトの実行中にユーザーにデータを表示する場合など、保留中の変更をすべてすぐに行う必要がある場合もあります。

// The code below changes the background color of cells A1 and B1 twenty times.
// You should be able to see the updates live in the spreadsheet. If flush() is
// not called, the updates may be applied live or may all be applied at once
// when the script completes.
function colors() {
  const sheet = SpreadsheetApp.getActiveSheet();
  for (let i = 0; i < 20; i++) {
    if (i % 2 === 0) {
      sheet.getRange('A1').setBackground('green');
      sheet.getRange('B1').setBackground('red');
    } else {
      sheet.getRange('A1').setBackground('red');
      sheet.getRange('B1').setBackground('green');
    }
    SpreadsheetApp.flush();
  }
}

getActive()

現在アクティブなスプレッドシートを返します。存在しない場合、null を返します。

スプレッドシートのコンテキストで実行される関数は、この関数を呼び出すことで、対応するスプレッドシート オブジェクトへの参照を取得できます。

// The code below logs the URL for the active spreadsheet.
Logger.log(SpreadsheetApp.getActive().getUrl());

戻る

Spreadsheet - アクティブなスプレッドシート オブジェクト

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getActiveRange()

アクティブなシートで選択されている範囲を返します。アクティブな範囲がない場合、null を返します。複数の範囲を選択した場合、このメソッドは最後に選択した範囲のみを返します。

通常、これはアクティブなシートでユーザーが選択した範囲を意味しますが、カスタム関数では、アクティブに再計算されているセルを指します。

// The code below logs the background color for the active range.
const colorObject = SpreadsheetApp.getActiveRange().getBackgroundObject();
// Assume the color has ColorType.RGB.
Logger.log(colorObject.asRgbColor().asHexString());

戻る

Range - アクティブな範囲。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getActiveRangeList()

アクティブなシート内のアクティブな範囲のリストを返します。範囲が選択されていない場合は null を返します。ハイライト表示されている現在のセルを含むアクティブな範囲は、リストの最後に表示されます。

選択した範囲が 1 つの場合は、getActiveRange() 呼び出しと同様に動作します。

// Returns the list of active ranges.
const rangeList = SpreadsheetApp.getActiveRangeList();

戻る

RangeList - アクティブな範囲のリスト

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getActiveSheet()

スプレッドシート内のアクティブなシートを取得します。

スプレッドシート内のアクティブなシートは、スプレッドシートの UI に表示されているシートです。

// The code below logs the name of the active sheet.
Logger.log(SpreadsheetApp.getActiveSheet().getName());

戻る

Sheet - アクティブなシート オブジェクト

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getActiveSpreadsheet()

現在アクティブなスプレッドシートを返します。存在しない場合、null を返します。

スプレッドシートのコンテキストで実行される関数は、この関数を呼び出して、対応する Spreadsheet オブジェクトへの参照を取得できます。

// The code below logs the URL for the active spreadsheet.
Logger.log(SpreadsheetApp.getActiveSpreadsheet().getUrl());

戻る

Spreadsheet - アクティブなスプレッドシート オブジェクト

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getCurrentCell()

アクティブなシートのアクティブな範囲のいずれかで選択されている現在の(ハイライト表示された)セルを返します。現在のセルがない場合、null を返します。

// Returns the current highlighted cell in the one of the active ranges.
const currentCell = SpreadsheetApp.getCurrentCell();

戻る

Range - 現在のセル

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getSelection()

スプレッドシートの現在の Selection を返します。

const selection = SpreadsheetApp.getSelection();
const currentCell = selection.getCurrentCell();

戻る

Selection - 現在の選択

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getUi()

スプレッドシートのユーザー インターフェース環境のインスタンスを返します。これにより、スクリプトでメニュー、ダイアログ、サイドバーなどの機能を追加できます。スクリプトが操作できるのは、開いているスプレッドシートの現在のインスタンスの UI のみです。また、スクリプトがスプレッドシートにバインドされている場合に限られます。詳しくは、メニューダイアログとサイドバーのガイドをご覧ください。

// Add a custom menu to the active spreadsheet, including a separator and a
// sub-menu.
function onOpen(e) {
  SpreadsheetApp.getUi()
      .createMenu('My Menu')
      .addItem('My menu item', 'myFunction')
      .addSeparator()
      .addSubMenu(
          SpreadsheetApp.getUi()
              .createMenu('My sub-menu')
              .addItem('One sub-menu item', 'mySecondFunction')
              .addItem('Another sub-menu item', 'myThirdFunction'),
          )
      .addToUi();
}

戻る

Ui - このスプレッドシートのユーザー インターフェース環境のインスタンス


newCellImage()

CellImage のビルダーを作成します。

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet()
// instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl(
    'https://docs.google.com/spreadsheets/d/abc123456/edit',
);

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets cell A1 on Sheet1.
const range = sheet.getRange('A1');

// Builds an image using a source URL.
const cellImage =
    SpreadsheetApp.newCellImage()
        .setSourceUrl(
            'https://www.gstatic.com/images/branding/productlogos/apps_script/v10/web-64dp/logo_apps_script_color_1x_web_64dp.png',
            )
        .build();

// Sets the image in cell A1.
range.setValue(cellImage);

戻る

CellImageBuilder - 新しいビルダー。


newColor()

Color のビルダーを作成します。

const rgbColor = SpreadsheetApp.newColor().setRgbColor('#FF0000').build();

戻る

ColorBuilder - 新しいビルダー。


newConditionalFormatRule()

条件付き書式ルールのビルダーを作成します。

// Adds a conditional format rule to a sheet that causes all cells in range
// A1:B3 to turn red if they contain a number between 1 and 10.
const sheet = SpreadsheetApp.getActive().getActiveSheet();
const range = sheet.getRange('A1:B3');
const rule = SpreadsheetApp.newConditionalFormatRule()
                 .whenNumberBetween(1, 10)
                 .setBackground('#FF0000')
                 .setRanges([range])
                 .build();
const rules = sheet.getConditionalFormatRules();
rules.push(rule);
sheet.setConditionalFormatRules(rules);

戻る

ConditionalFormatRuleBuilder - 新しいビルダー。


newDataSourceSpec()

DataSourceSpec のビルダーを作成します。

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet()
// instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl(
    'https://docs.google.com/spreadsheets/d/abc123456/edit',
);

// Enables BigQuery.
SpreadsheetApp.enableBigQueryExecution();

// Builds a data source specification.
// TODO (developer): Update the project ID to your own Google Cloud project ID.
const dataSourceSpec = SpreadsheetApp.newDataSourceSpec()
                           .asBigQuery()
                           .setProjectId('project-id-1')
                           .setTableProjectId('bigquery-public-data')
                           .setDatasetId('ncaa_basketball')
                           .setTableId('mbb_historical_teams_games')
                           .build();

// Adds the data source and its data to the spreadsheet.
ss.insertDataSourceSheet(dataSourceSpec);

戻る

DataSourceSpecBuilder - 新しいビルダー。


newDataValidation()

データ入力規則のビルダーを作成します。

const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireNumberBetween(1, 100)
                 .setAllowInvalid(false)
                 .setHelpText('Number must be between 1 and 100.')
                 .build();
cell.setDataValidation(rule);

戻る

DataValidationBuilder - 新しいビルダー。


newFilterCriteria()

FilterCriteria のビルダーを作成します。

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet()
// instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl(
    'https://docs.google.com/spreadsheets/d/abc123456/edit',
);

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Sets the range to A1:D20.
const range = sheet.getRange('A1:D20');

// Creates a filter and applies it to the specified range.
range.createFilter();

// Gets the current filter for the range and creates filter criteria that only
// shows cells that aren't empty.
const filter = range.getFilter();
const criteria = SpreadsheetApp.newFilterCriteria().whenCellNotEmpty().build();

// Sets the criteria to  column C.
filter.setColumnFilterCriteria(3, criteria);

戻る

FilterCriteriaBuilder - 新しいビルダー


newRichTextValue()

リッチテキスト値のビルダーを作成します。

// Sets cell A1 to have the text "Hello world", with "Hello" bolded.
const cell = SpreadsheetApp.getActive().getRange('A1');
const bold = SpreadsheetApp.newTextStyle().setBold(true).build();
const value = SpreadsheetApp.newRichTextValue()
                  .setText('Hello world')
                  .setTextStyle(0, 5, bold)
                  .build();
cell.setRichTextValue(value);

戻る

RichTextValueBuilder - 新しいビルダー。


newTextStyle()

テキスト スタイルのビルダーを作成します。

// Sets range A1:B3 to have red, size 22, bolded, underlined text.
const range = SpreadsheetApp.getActive().getRange('A1:B3');
const style = SpreadsheetApp.newTextStyle()
                  .setForegroundColor('red')
                  .setFontSize(22)
                  .setBold(true)
                  .setUnderline(true)
                  .build();
range.setTextStyle(style);

戻る

TextStyleBuilder - 新しいビルダー。


open(file)

指定された File オブジェクトに対応するスプレッドシートを開きます。

// Get any starred spreadsheets from Google Drive, then open the spreadsheets
// and log the name of the first sheet within each spreadsheet.
const files = DriveApp.searchFiles(
    `starred = true and mimeType = "${MimeType.GOOGLE_SHEETS}"`,
);
while (files.hasNext()) {
  const spreadsheet = SpreadsheetApp.open(files.next());
  const sheet = spreadsheet.getSheets()[0];
  Logger.log(sheet.getName());
}

パラメータ

名前説明
fileFile開くファイル。

戻る

Spreadsheet - スプレッドシート

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets

openById(id)

指定された ID のスプレッドシートを開きます。スプレッドシート ID は URL から抽出できます。たとえば、URL https://docs.google.com/spreadsheets/d/abc1234567/edit#gid=0 のスプレッドシート ID は「abc1234567」です。

// The code below opens a spreadsheet using its ID and logs the name for it.
// Note that the spreadsheet is NOT physically opened on the client side.
// It is opened on the server only (for modification by the script).
const ss = SpreadsheetApp.openById('abc1234567');
Logger.log(ss.getName());

パラメータ

名前説明
idStringスプレッドシートの一意の識別子。

戻る

Spreadsheet - 指定された ID のスプレッドシート オブジェクト

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets

openByUrl(url)

指定された URL のスプレッドシートを開きます。URL が存在しない場合、またはユーザーにアクセス権がない場合は、スクリプト例外をスローします。

// Opens a spreadsheet by its URL and logs its name.
// Note that the spreadsheet doesn't physically open on the client side.
// It opens on the server only (for modification by the script).
const ss = SpreadsheetApp.openByUrl(
    'https://docs.google.com/spreadsheets/d/abc1234567/edit',
);
console.log(ss.getName());

パラメータ

名前説明
urlStringスプレッドシートの URL。

戻る

Spreadsheet - 指定された URL のスプレッドシート オブジェクト。

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets

setActiveRange(range)

指定した範囲を active range として設定し、範囲内の左上のセルを current cell として設定します。

スプレッドシートの UI には、選択した範囲を含むシートが表示され、選択した範囲で定義されたセルが選択されます。

// The code below sets range C1:D4 in the first sheet as the active range.
const range =
    SpreadsheetApp.getActiveSpreadsheet().getSheets()[0].getRange('C1:D4');
SpreadsheetApp.setActiveRange(range);

const selection = SpreadsheetApp.getSelection();
// Current cell: C1
const currentCell = selection.getCurrentCell();
// Active Range: C1:D4
const activeRange = selection.getActiveRange();

パラメータ

名前説明
rangeRangeアクティブな範囲にする範囲。

戻る

Range - 新しいアクティブな範囲


setActiveRangeList(rangeList)

指定した範囲のリストを active ranges として設定します。リストの最後の範囲は active range として設定されます。

// The code below sets ranges [D4, B2:C4] in the active sheet as the active
// ranges.
const rangeList = SpreadsheetApp.getActiveSheet().getRanges(['D4', 'B2:C4']);
SpreadsheetApp.setActiveRangeList(rangeList);

const selection = SpreadsheetApp.getSelection();
// Current cell: B2
const currentCell = selection.getCurrentCell();
// Active range: B2:C4
const activeRange = selection.getActiveRange();
// Active range list: [D4, B2:C4]
const activeRangeList = selection.getActiveRangeList();

パラメータ

名前説明
rangeListRangeList選択する範囲のリスト。

戻る

RangeList - 新しく選択された範囲のリスト

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setActiveSheet(sheet)

スプレッドシート内のアクティブなシートを設定します。シートが別のスプレッドシートに属していない限り、Google スプレッドシートの UI に選択したシートが表示されます。

// The code below makes the 2nd sheet active in the active spreadsheet.
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
SpreadsheetApp.setActiveSheet(spreadsheet.getSheets()[1]);

パラメータ

名前説明
sheetSheet新しいアクティブなシート。

戻る

Sheet - 新しいアクティブ シートになったシート


setActiveSheet(sheet, restoreSelection)

スプレッドシート内のアクティブなシートを設定し、そのシート内の最新の選択を復元するオプションを設定します。シートが別のスプレッドシートに属していない限り、Google スプレッドシートの UI に選択したシートが表示されます。

const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const firstSheet = spreadsheet.getSheets()[0];
const secondSheet = spreadsheet.getSheets()[1];
// Set the first sheet as the active sheet and select the range D4:F4.
spreadsheet.setActiveSheet(firstSheet).getRange('D4:F4').activate();

// Switch to the second sheet to do some work.
spreadsheet.setActiveSheet(secondSheet);
// Switch back to first sheet, and restore its selection.
spreadsheet.setActiveSheet(firstSheet, true);

// The selection of first sheet is restored, and it logs D4:F4
const range = spreadsheet.getActiveSheet().getSelection().getActiveRange();
Logger.log(range.getA1Notation());

パラメータ

名前説明
sheetSheet新しいアクティブなシート。
restoreSelectionBooleantrue の場合、新しいシートがアクティブになると、新しいアクティブなシートの最新の選択が再度選択されます。false の場合、現在の選択を変更せずに新しいシートがアクティブになります。

戻る

Sheet - 新しいアクティブなシート

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

setActiveSpreadsheet(newActiveSpreadsheet)

アクティブなスプレッドシートを設定します。

// The code below makes the spreadsheet with key "1234567890" the active
// spreadsheet
const ss = SpreadsheetApp.openById('1234567890');
SpreadsheetApp.setActiveSpreadsheet(ss);

パラメータ

名前説明
newActiveSpreadsheetSpreadsheetアクティブなスプレッドシートにするスプレッドシート。

setCurrentCell(cell)

指定したセルを current cell として設定します。

指定したセルがすでに選択されている範囲内にある場合、その範囲がアクティブな範囲になり、そのセルが現在のセルになります。

指定したセルが選択範囲にない場合、既存の選択範囲は削除され、そのセルが現在のセルとアクティブな範囲になります。

注: 指定する Range は 1 つのセルで構成する必要があります。指定しない場合、このメソッドは例外をスローします。

// The code below sets the cell B5 in the first sheet as the current cell.
const cell =
    SpreadsheetApp.getActiveSpreadsheet().getSheets()[0].getRange('B5');
SpreadsheetApp.setCurrentCell(cell);

const selection = SpreadsheetApp.getSelection();
// Current cell: B5
const currentCell = selection.getCurrentCell();

パラメータ

名前説明
cellRange現在のセルとして設定するセル。

戻る

Range - 新しく設定された現在のセル

承認

このメソッドを使用するスクリプトには、次のスコープの 1 つ以上による承認が必要です。

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets