Как я могу скопировать указанную c таблицу и вставить ее в указанную c часть do c, используя скрипт приложения Google? - PullRequest
0 голосов
/ 17 апреля 2020

Я пытаюсь скопировать таблицу, которую у меня уже есть в моем do c, и вставить ее в другую часть do c, кто-то знает, как это сделать?

Я Я очень новичок в этом, поэтому до сих пор я копирую таблицу и вставляю ее случайно. Я хочу скопировать таблицу, я хочу не какую-нибудь таблицу, и вставить ее туда, куда я хочу, не случайно

* Вот ссылка на мой do c * https://docs.google.com/document/d/1s2TCspXbjvHVurwhIWSdwJ_hMcZIoLTKj4FAB82nmhM/edit?usp=sharing

Вот мой текущий код

function copyBody(){
  var sourcedoc = DocumentApp.openById('1nH84jfwW0-YD4_6LgRQF7MXB7GsWeTomAQK1Foz3BLE');
  var sourcebody = sourcedoc.getBody();
  var tables = sourcebody.getTables();
  var table = tables[0].copy();
  var x = sourcebody.appendTable(table)
}

1 Ответ

1 голос
/ 17 апреля 2020
  • Вы хотите скопировать таблицу из исходного документа в целевой документ.
  • Вы хотите добиться этого с помощью скрипта Google Apps.

Если я понимаю правильно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.

В этом ответе используется следующая примерная ситуация.

  • Существует 2 документа Google, которые являются исходным документом и документом назначения .
  • Таблица помещается в исходный документ.
  • Целевой документ содержит текст {{replace}} в качестве абзаца.
  • При запуске образца сценария Таблица в исходном документе копируется и вставляется в целевой документ путем замены {{replace}} на таблицу.

Пример сценария:

Перед запуском сценария скопируйте и вставьте {{replace}} к документу назначения. А затем, пожалуйста, запустите скрипт.

function myFunction() {
  const sourceDocId = "###";  // Please set the source Document ID.
  const destinationDocId = "###";  // Please set the destination Document ID.

  const srcDoc = DocumentApp.openById(sourceDocId);
  const srcTable = srcDoc.getBody().getTables()[0].copy();

  const dstDoc = DocumentApp.openById(destinationDocId);
  const dstBody = dstDoc.getBody();
  const find = dstBody.findText("{{replace}}");
  if (find) {
    const child = find.getElement().getParent();
    const childIndex = dstBody.getChildIndex(child);
    dstBody.insertTable(childIndex, srcTable);
    find.getElement().removeFromParent();  // <--- Modified
  }
}

Ссылки:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...