Google Slides API を使用すると、ページで表を作成したり編集したりできます。このページの例では、presentations.batchUpdate メソッドを使用した一般的なテーブル オペレーションを示します。
これらの例では、次の変数を使用します。
- PRESENTATION_ID - プレゼンテーション ID を指定する場所を示します。この ID の値は、プレゼンテーションの URL から確認できます。
- PAGE_ID - ページ オブジェクト ID を指定する場所を示します。この値は、URL から取得するか、API 読み取りリクエストを使用して取得できます。
- TABLE_ID - 操作するテーブルのページ要素オブジェクト ID を指定する場所を示します。この ID は、作成する要素に指定することも(いくつかの制限あり)、Slides API で自動的に作成することもできます。要素 ID は、API 読み取りリクエストで取得できます。
これらの例は、言語に依存しない HTTP リクエストとして示されています。Google API クライアント ライブラリを使用してさまざまな言語で一括更新を実装する方法については、図形とテキストを追加するをご覧ください。
テーブルを作成する
次の presentations.batchUpdate コードサンプルは、CreateTableRequest メソッドを使用して PAGE_ID で指定されたスライドにテーブルを追加する方法を示しています。
この表には 8 行 5 列があります。Slides API は、elementProperties の一部として指定された size フィールドまたは transform フィールドを無視します。代わりに、API はスライドの中央付近に、指定された行数と列数を収容できるサイズの表を作成します。
テーブルを作成するためのリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"createTable": {
"objectId": TABLE_ID,
"elementProperties": {
"pageObjectId": PAGE_ID,
},
"rows": 8,
"columns": 5
}
}
]
}表の行または列を削除する
次の presentations.batchUpdate コードサンプルは、DeleteTableRowRequest メソッドを使用して 6 行目を削除する方法を示しています。次に、DeleteTableColumnRequest メソッドを使用して 4 列目を削除します。テーブルは TABLE_ID で指定します。cellLocation 内の rowIndex と columnIndex はどちらも 0 ベースです。
テーブルの行または列を削除するリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"deleteTableRow": {
"tableObjectId": TABLE_ID,
"cellLocation": {
"rowIndex": 5
}
}
},
{
"deleteTableColumn": {
"tableObjectId": TABLE_ID,
"cellLocation": {
"columnIndex": 3
}
}
}
]
}テーブルデータを編集する
次の presentations.batchUpdate コードサンプルは、DeleteTextRequest メソッドを使用して textRange 内のセル内のすべてのテキストを削除する方法を示しています。次に、InsertTextRequest メソッドを使用して、「Kangaroo」という新しいテキストに置き換えます。
テーブルは TABLE_ID で指定されます。影響を受けるセルは、5 行目、3 列目にあります。cellLocation 内の rowIndex と columnIndex はどちらも 0 ベースです。
テーブルデータを編集するリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteText": { "objectId": TABLE_ID, "cellLocation": { "rowIndex": 4, "columnIndex": 2 }, "textRange": { "type": "ALL", } } }, { "insertText": { "objectId": TABLE_ID, "cellLocation": { "rowIndex": 4, "columnIndex": 2 }, "text": "Kangaroo", "insertionIndex": 0 } } ] }
テーブルのヘッダー行の書式を設定する
次の presentations.batchUpdate コードサンプルは、UpdateTableCellPropertiesRequest メソッドを使用して、TABLE_ID で指定された tableRange 内のテーブル要素のヘッダー行をフォーマットする方法を示しています。次に、TableCellProperties メソッドを使用して、ヘッダー行の背景色を黒に設定します。
後続の各リクエストでは、UpdateTextStyleRequest メソッドを使用して、ヘッダー行の 1 つのセルのテキスト形式を textRange 内の太字の白の 18 ポイントの Cambria フォントに設定します。次に、ヘッダー内の追加のセルごとにこのリクエストを繰り返す必要があります。
location と cellLocation 内の rowIndex と columnIndex はどちらも 0 ベースです。
テーブルのヘッダー行の書式設定を行うリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updateTableCellProperties": { "objectId": TABLE_ID, "tableRange": { "location": { "rowIndex": 0, "columnIndex": 0 }, "rowSpan": 1, "columnSpan": 3 }, "tableCellProperties": { "tableCellBackgroundFill": { "solidFill": { "color": { "rgbColor": { "red": 0.0, "green": 0.0, "blue": 0.0 } } } } }, "fields": "tableCellBackgroundFill.solidFill.color" } }, { "updateTextStyle": { "objectId": TABLE_ID, "cellLocation": { "rowIndex": 0, "columnIndex": 0 }, "style": { "foregroundColor": { "opaqueColor": { "rgbColor": { "red": 1.0, "green": 1.0, "blue": 1.0 } } }, "bold": true, "fontFamily": "Cambria", "fontSize": { "magnitude": 18, "unit": "PT" } }, "textRange": { "type": "ALL" }, "fields": "foregroundColor,bold,fontFamily,fontSize" } }, // Repeat the above request for each additional cell in the header row.... ] }
これらの更新後のヘッダー行の書式設定は次のようになります。

表に行または列を挿入する
次の presentations.batchUpdate コードサンプルは、InsertTableRowsRequest メソッドを使用して 6 行目の下に 3 行を追加する方法を示しています。次に、InsertTableColumnsRequest メソッドを使用して、同じテーブルの 4 番目の列の左側に 2 つの列を追加します。
テーブルは TABLE_ID で指定されます。cellLocation 内の rowIndex と columnIndex はどちらもゼロベースです。
テーブルの行または列を挿入するリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
"requests": [
{
"insertTableRows": {
"tableObjectId": TABLE_ID,
"cellLocation": {
"rowIndex": 5
},
"insertBelow": true,
"number": 3
}
},
{
"insertTableColumns": {
"tableObjectId": TABLE_ID,
"cellLocation": {
"columnIndex": 3
},
"insertRight": false,
"number": 2
}
}
]
}