Всем доброй ночи/дня. разбираюсь с google app script, и стоит перед мною задание:
В таблице Аркуш1, в столбце "С" сделать кнопку, при нажатии которой создается Шаблонный документ(я назвал его newDocTemplate) (template),где поля с инф о кленте и автомобиле автоматом берутся из Аркуш1 Строго говоря newDocTemplate - это копия template, но с заполненными некоторыми ячейками, взятыми из таблицы LIST
Я это вроде как сделал, но только для 1-го клиента. Но мне надо что бы при клике на строчку(с кнопкой) С5, С6, и т.д. создавался документ с соответствующими клиентами. Кнопку я реализовал в виде меню.
Может кто поможет мне с этим вопросом.
Вот код:
var activeSreadsheet = SpreadsheetApp.getActiveSpreadsheet();
// получаем активный документ(все листы)
var template = activeSreadsheet.getSheetByName("template"); // выносим в переменную базовцй шаблон заявки
var newTable = activeSreadsheet.setActiveSheet(template).copyTo(activeSreadsheet).activate(); // создаем шаблон в новый лист, и кладем в активный документ и сразу его делаем активным
var dataSheet = activeSreadsheet.getSheetByName("Аркуш1"); // берем таблицу с данными
function addNewTable(rIndx){
var data = { // решил создать объект с данными
model: dataSheet.getRange("D" +rIndx).getValue(),
cantact: dataSheet.getRange("E" +rIndx).getValue()
}
newTable.getRange("A9").setValue("Замовник, тел.: "+data.cantact).setFontWeight("bold");
newTable.getRange("A10").setValue("Марка і модель авто: " + data.model).setFontWeight("bold");
}
function onOpen(){
var ui = SpreadsheetApp.getUi();
ui.createMenu("myMenu")
.addItem("Generate new Tamplate", "addNewTable")
.addSeparator()
.addItem("ID", "onEdit")
.addToUi();
}
function onEdit(event){
var sheet = event.source.getActiveSheet();
var sheetName = event.source.getActiveSheet().getSheetName() // Получаем имя листа который активен
var actRng = event.source.getActiveRange();//Ячейка в которой произошло изменение
var rowIndex = actRng.getRowIndex();
var ss = SpreadsheetApp.getActiveSpreadsheet();
//var _sheet = ss.getSheets()[0];//Лист где нужно изменения отлавливать
var activeCELL = dataSheet.getActiveCell();
var activeCELL_index = i.getRowIndex();
addNewTable(activeCELL_index);
// Logger.log(rowIndex)
}
Ссылка на GoogleDocs
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть скрипт добавления блоков на страницу https://jsfiddlenet/7su5s63d/
Есть сайт, у которого есть поиск по каталогу(например, вывод товара по слову в названии), нужно этот товар отсортировать по цене (например,...