@Vlad-F

Какую команду вставить в скрипт для всех гуглтаблиц объединенных с гуглдок?

Объединил скриптом гуглтаблицу (А) с гуглдок (B). Теперь шаблон гуглдок тянет данные из таблицы и выгружает готовый документ в указанную папку (С) на диске. ПесТня.
Планирую создать разные гуглтаблицы с данными А1, A2, A3 и т.д. и разные шаблоны гуглдок B1, B2, B3 и тд. и выгрузить готовые документы в папки С1, С2, С3 и т.д.

Вопрос: Какую глобальную функцию вставить в скрипт гуглтаблицы чтобы выполнялось (например) условие при запуске скрипта: из таблицы А5 гуглдок B17 тянет данные и выгружает в папку С27?
Или под каждую связку писать отдельный скрипт - но это большой объем и самое главное, что шаблоны А и B будут меняться со временем... Или укажите направление, может вообще эту задачу с другими программами можно сделать?

function Creator() {
  // это константы для шаблонов
  const docFile_Doverennost = ("id шаблона докфайла В")

  // это константы для каталогов
  const docFolder_TVO = ("id папки С")
  // это директория для новых файлов
  const tempFolder = DriveApp.getFolderById(docFolder_TVO);

  const tempFile = docFile.makeCopy(tempFolder);
  // делаем копию шаблона
  const tempDocFile = DocumentApp.openById(tempFile.getId());
  // открываем созданную копию
  const body = tempDocFile.getBody();
  // тело файла копии
    
  var list = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  
  var b2 = list.getRange(2, 2).getValue()
 
  body.replaceText("{m}", b2);
  
  tempDocFile.saveAndClose();
}
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Apps Script
Google Products Expert
Вероятно

function creator({docFile_Doverennost, docFolder_TVO}) {

}


Из листинга самого creator убрать вот эти строки

// это константы для шаблонов
  const docFile_Doverennost = ("id шаблона докфайла В")

  // это константы для каталогов
  const docFolder_TVO = ("id папки С")


Пример вызова

const items = [
  {
    docFile_Doverennost: "XYZ_123",
    docFolder_TVO: "ABC_456"
  },
  {
    docFile_Doverennost: "XYZ_4352134523",
    docFolder_TVO: "ABC_456"
  }
];

items.forEach(creator);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ProgrammerForever
@ProgrammerForever Куратор тега Google Sheets
Учитель, автоэлектрик, программист, музыкант
Всё захардкоженое в функции - вынесите в параметры, и функция автоматически станет универсальной. Останется писать обёртки для неё под каждый конкретный случай, или просто вызывать с нужными параметрами и данными.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы