スプレッドシートには、セルに含まれる値データのほかに、次のようなさまざまな種類のデータが含まれています。
- ディメンション
- セルの形式と枠線
- 名前付き範囲
- 保護されている範囲
- 条件付き書式
これらは、スプレッドシートの表示と操作を制御する多くの種類のデータの一部です。spreadsheets.batchUpdate
メソッドを使用すると、これらのスプレッドシートの詳細を更新できます。変更はバッチでグループ化されるため、1 つのリクエストが失敗した場合、他の(依存している可能性のある)変更は書き込まれません。
このページでは、spreadsheets.batchUpdate
メソッドの基本的な使用方法について説明します。セル値データを読み書きする必要がある場合は、セル値の読み取りと書き込みで説明されている spreadsheets.values
リソースを使用することもできます。
オペレーションのカテゴリ
spreadsheets.batchUpdate
でサポートされている特定のオペレーションは、次の大まかなカテゴリに分類できます。
カテゴリ | 説明 |
---|---|
追加(および複製) | 新しいオブジェクトを追加します(重複リクエストの場合など、古いオブジェクトに基づいて追加することもあります)。 |
更新(および設定) | オブジェクトの特定のプロパティを更新します(通常、古いプロパティはそのまま残ります。Set リクエストは以前のデータを上書きします)。 |
削除 | オブジェクトを削除する。 |
これらのカテゴリは、次のセクションで特定のオペレーションの動作を説明するために使用されます。
バッチ更新オペレーション
spreadsheets.batchUpdate
メソッドは、1 つ以上の Request オブジェクトを受け取ります。各オブジェクトには、実行するリクエストの種類が 1 つ指定されています。リクエストにはさまざまな種類があります。リクエストの種類は、以下のカテゴリに分類されます。
また、データを操作するユーザー アクションを模倣する追加のリクエストもあります。
- AutoFillRequest
- CutPasteRequest
- CopyPasteRequest
- FindReplaceRequest
- PasteDataRequest
- TextToColumnsRequest
- SortRangeRequest
上限
Google スプレッドシートのセル数と行数の上限について詳しくは、Google ドライブに保存可能なファイルをご覧ください。
フィールド マスク
多くの「更新」リクエストでは、フィールド マスクが必要です。これらは、オブジェクト内の特定のフィールドのみを更新し、他のフィールドは変更しないフィールドのカンマ区切りのリストです。フィールドマスク *
はワイルドカードとして扱われ、メッセージ内のすべてのフィールドを指定する省略形です(リクエストで値を指定しない場合、フィールドはデフォルト状態に戻る可能性があります)。フィールド マスクの詳細については、フィールド マスクを使用するをご覧ください。
次のサンプルでは、UpdateSpreadsheetPropertiesRequest
を使用してスプレッドシートのタイトルのみを更新します。
リクエスト:
POST .../v4/spreadsheets/spreadsheetId:batchUpdate
リクエスト本文:
{
"requests": [{
"updateSpreadsheetProperties": {
"properties": {"title": "TITLE"},
"fields": "title"
}
}]
}
TITLE は、スプレッドシートの新しいタイトルに置き換えます。
レスポンス
スプレッドシートを更新する際に、一部のリクエストでレスポンスが返されることがあります。これらは配列で返され、各レスポンスは対応するリクエストと同じインデックスを占有します。リクエストによってはレスポンスがない場合があり、その場合はレスポンスが空になります。
通常、「追加」リクエストには、追加されたオブジェクトの ID などの情報を返すレスポンスがあります。サポートされているレスポンスの一覧については、レスポンスをご覧ください。
例
次のコードサンプルは、次のアクションを実行します。
title
変数を使用してスプレッドシートのタイトルを更新します。find
変数とreplacement
変数を使用して、スプレッドシート内のセル値を検索して置き換えます。