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