Я считаю, что ваша цель заключается в следующем.
- Вы хотите получить указанную таблицу c, используя скрипт Google Apps.
- Вы хотите поместить таблицу, используя
var table = body.insertTable(insertPoint, [[row.join("")]]);
. - Место и порядок таблиц изменены.
Для этого, как насчет этого ответа?
Проблема и обходной путь:
К сожалению на текущем этапе таблица в документе Google не может иметь уникальный идентификатор. Таким образом, указанная таблица c не может быть получена напрямую. В вашем случае для достижения вышеуказанной цели в этом ответе я хотел бы предложить следующий обходной путь:
- Когда таблица вставлена, текст добавляется в верхнюю часть таблицы как уникальный идентификатор. Уникальный идентификатор, по-видимому, скрыт, если изменить цвет шрифта на тот же, что и цвет фона, и изменить размер шрифта на 1.
- При извлечении таблицы указанная таблица c извлекается с использованием уникального идентификатора. .
Пример сценария:
Для вставки таблицы:
function putTable() {
const documentId = "###"; // Please set Document ID.
const uniqueIdOfTable = "tableId1"; // Please set the unique table ID. In this sample, "tableId1" is used.
const insertPoint = 1; // In this sample, "1" is the minumum size.
const row = ["a1", "b1", "c1"];
const body = DocumentApp.openById(documentId).getBody();
const table = body.insertTable(insertPoint, [[row.join("")]]);
const text = table.getPreviousSibling().asParagraph().appendText("\n" + uniqueIdOfTable);
text.setFontSize(1).setForegroundColor(text.getBackgroundColor() || "#ffffff");
}
- При запуске этого сценария вставляется таблица и уникальный идентификатор
tableId1
. И уникальный идентификатор скрывается размером шрифта и цветом шрифта.
Для извлечения таблицы спецификаций c с использованием уникального идентификатора:
function getTable(documentId, uniqueIdOfTable) {
const body = DocumentApp.openById(documentId).getBody();
const index = body.getChildIndex(body.findText(uniqueIdOfTable).getElement().getParent());
const element = body.getChild(index + 1);
return element.getType() === DocumentApp.ElementType.TABLE ? element.asTable() : null;
}
// Please run this function.
function main() {
const documentId = "###"; // Please set Document ID.
const uniqueIdOfTable = "tableId1"; // Please set the unique table ID. In this sample, "tableId1" is used.
const table = getTable(documentId, uniqueIdOfTable);
console.log(table.editAsText().getText())
}
- Когда вы запустить
main()
, таблица извлекается с использованием уникального идентификатора tableId1
. В этом случае getTable()
возвращает объект таблицы.
Примечание:
- Это простой пример сценария для объяснения обходного пути. Поэтому, пожалуйста, измените это для вашей реальной ситуации.