スプレッドシートには、セル内のデータに加えて、次のようなその他のタイプのデータが数多く含まれています。
- ディメンション
- セルの形式と枠線
- 名前付き範囲
- 保護されている範囲
- 条件付き書式
上記のタイプのデータはほんの一部のデータであり、スプレッドシートの外観と操作は多くの種類のデータによって制御されます。spreadsheets.batchUpdate
メソッドを使用すると、スプレッドシートの詳細を更新できます。変更はバッチにグループ化されるため、1 つのリクエストが失敗した場合、他の変更点(依存関係が存在する可能性がある)は書き込まれません。
このページでは、spreadsheets.batchUpdate
メソッドの基本的な使用方法について説明します。セル値データを読み書きする必要がある場合は、セル値の読み取りと書き込みで説明されている spreadsheets.values
リソースを使用することもできます。
操作のカテゴリ
spreadsheets.batchUpdate
でサポートされている特定のオペレーションは、おおまかに次のカテゴリに分類できます。
カテゴリ | 説明 |
---|---|
追加(および複製) | 新しいオブジェクトを追加します(複製リクエストなどでは、古いオブジェクトに基づく場合があります)。 |
[更新](および [設定]) | オブジェクトの特定のプロパティを更新します。通常、古いプロパティは残したままにします(ただし、設定リクエストでは、以前のデータが上書きされます)。 |
削除 | オブジェクトを削除する。 |
次のセクションでは、これらのカテゴリを使って、特定の操作の動作について説明します。
バッチ アップデート オペレーション
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
変数を使用して、スプレッドシート内のセル値を検索して置き換えます。