スプレッドシートには、セルに含まれる値データ以外にも、次のようなさまざまな種類のデータが含まれています。
- ディメンション
- セルの形式と枠線
- 名前付き範囲
- 保護されている範囲
- 条件付き書式
これらは、スプレッドシートの表示と動作を制御する多くの種類のデータの一部です。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
変数を使用して、スプレッドシート内のセル値を検索して置き換えます。