Спасибо. Можно ли копии документа автоматически присваивать название, например, что бы в названии документа присутствовало значение кому документ предназначен. Так проще будет их отличать. Спасибо за уроки. Так же было бы интересно узнать про различные методы скриптов, основные команды в этих методах.
Да. Файлы можно переименовывать. Я это буду рассказывать в уроке про pdf файлы (это через 1 или 2 урока по таблицам). Про методы сделаю отдельный урок. Спасибо за идею
а что в скрипт надо добавить, чтобы новый документ открывался сам сразу после того, как сгенерируется? у вас вроде есть в скрипте этот код, но он не срабатывает. Когда папка со генерированными документами наполняется, там сложно определить где когда какой был создан
Доброго дня. Написал на основе данного скрипта схожий скрипт на 143 перменных, они все однотипные. Всё работает, скрипт выполняет свою функцию, только в получаемом шаблон возникает следующая проблема - начинается перенос страницы. Стандартно между последней строкой документа 1 и документа 2 стоят 3 пустых строчки, но почему-то скрипт начинает менять их количестов время от времени и документы съезжают с правильной позицией листа. По сути, сделал всё то же самое, как в Вашем видео, только таких листов 20, и у каждого свои 7 индивидуальных перменных и 3 общих для всех страниц, получается на каждой странице по 10 переменных, но вот начинает съезжать, не подскажете что делать?
Проблема появилась в этой строке const tempDocFile=DocumentApp.openById(tempFile.getId()); я так почитал ниже комментарии. писали что это связано с доступом к файлу/ Но это мой файл созданный на моем гугл диске. Выходил из аккаунта, входил вновь. создавал новые документы - без изменений. Помогите, пожалуйста
Добрый день! Проверьте правильность указания ID файла. Обратите внимание, что при использовании этой конструкции нужно указывать именно ID файла, а не его имя и не ссылку на него
@@esdelano я проверял несколько раз. Копии в указанных дирректориях он создает. но не может получается ее открыть что бы заменить текст в них. меня бы устроил и код который просто меняет текст в одном док-файле, без создания копий. может он бы работал у меня...
Здравствуйте. Спасибо за Ваши видео. Подскажите пожалуйста, столкнулся с такой проблемой при выполненнии скрипта пишет Ошибка Exception: The document is inaccessible. Please try again later.
Добрый день. Либо это временная проблема, либо есть проблема с доступом к файлам. При запуске скрипта должно было выйти сообщение, в котором нужно было разрешить доступ к файлам для вашего скрипта. Закройте все приложения (таблицы и документы), зайдите на гугл диск и перелогиньтесь, затем откройте гугл таблицы. Должно всё заработать
@@esdelano К сожалению перелогонился и не помогло ( Ссылается, что ошибка в этой строчке - const tempDocFile = DocumentApp.openById(tempFile.getId()); Доступ файлам я предоставил
@@esdelano Все, проблему решил) Дело в том, что я брал документ (форму) с другого аккаунта гугл диска, скачал и вставил в тот на котором скрипт. В этом и была проблема. В любом случае, спасибо за обратную связь !)
Как то ранее спрашивал про то как при нажатии на старт выгружать данные строки по своим папкам. Сейчас выгружает все в пдф файлы в одну папку а как сделать что бы по разным папочкам все выгружало с присвоением имени папке.
Спасибо за уроки, очень полезные. Подскажите, нет ли у вас информации по подобной вставке изображений из Гугл диска ? НАощупь не получилось сделать, хотя прямо чувствую, что близко )
спасибо за информативное видео! Столкнулась с проблемой : вот этот пункт const tempDocFile = DocumentApp.openById(tempFile.getId()) - пишет ошибка Код 6 . Файл формируется в папке, но замена не происходит. Подскажите, пожалуйста, как решить проблему. Все ID верно ввела.
та же проблема, только не код 6 а ошибка в строке 6. У вас получилось решить? сама ошибка - Exception: The document is inaccessible. Please try again later.
Все хорошо, только столкнулся с такой проблемкой: 1. Переменные данные, не вставляются в колонтитул :( 2. Вместо даты типа хх.yy.zzzz вставляются данные типа - Fri Dec 31 2021 00:00:00 GMT+0300 (Moscow Standard Time) как с этим бороться? СПАСИБО!!!
Подскажите, пжл, как создать один документ на основании заполненных строк (около 10 шт). чтобы все заполненные строки попали в один документ в по порядку в табличную часть?
Здравствуйте! При попытке использовать метод создания копии файла получаю ошибку TypeError: DriveApp.makeCopy is not a function. Может, она устарела? Что можно использовать вместо неё?
Добрый день! Есть два пути: 1. Вручную очистить (или удалить) папку на Гугл диске 2. В скрипте прописать удаление папки и ее создание, либо ее очистки: tempFolder.removeFile; .
У меня когда вставляется дата, то она очень некрасивая получается. Например если в экселе ввожу 27.05.2022, то в текстовом получается такое Fri May 27 2022 10:00:00 GMT+0300 (Москва, стандартное время)
Вроде текст процедуры напечатал правильно, но текстовка из экселя не переносится в шаблон документа. Работает только инструмент создания копии. в чем может быть проблема? function Creator() { const docFile = DriveApp.getFileById("1Qx8LakXrXdhGipQwnzE_IfJXF1CX11aldsoWQFz5S2A"); //это файл шаблона const tempFolder = DriveApp.getFolderById("1GAu8suSuX-Bce_OpmLrzcHksPSA0d8v7"); //это директория для новых файлов const tempFile = docFile.makeCopy(tempFolder); //делаем копию шаблона const tempDocFile = DocumentApp.openById(tempFile.getId()); //открываем созданную копию const body = tempDocFile.getBody(); // тело файла копии var list = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var a1 = list.getRange(1,2).getValue(); var a2 = list.getRange(2,2).getValue(); var a3 = list.getRange(3,2).getValue(); var a4 = list.getRange(4,2).getValue(); body.replaceText("{Получатель}",a1); body.replaceText("{Адрес получателя}", a2); body.replaceText("{Обращение}",a3); body.replaceText("{сообщение}",a4);
В мобильной версии это сделать нельзя. Можно настроить запуск скрипта, например с помощью триггер. А ещё у меня есть урок о том, как запускать скрипты из мобильной версии. Поищите
@@esdelano смотрела!) Мне нужен именно этот код, для него пробовала сделать триггер, тоже не получилось. Подскажите пожалуйста как этот код запускать с моб версии?
Спасибо, но возникли сложности. Каким образом связывается конкретный лист из многолистовой таблицы? GOOGLEдокумент создал с нуля. Скопировал ID, вставил в скрипе в строчку "файл шаблона". короче все по инструкции, но мне кажется что ошибка именно в строке var list = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); нужно ли прописывать где-то имя гугл таблицы и листа? ID указано верно
Добрый день! В этом скрипте собственно и указывается, что данные будут браться именно с активного листа. Т.е. с того, который открыт в момент запуска скрипта. Если нужно использовать другой лист, то для переменной list, нужно использовать метод не получения активного листа, а назначения .setActiveSheet(...)
Вечер добрый. Небольшая проблема с переносом даты (дата тсоздана с помощью формулы today) в шаблон. Они почему-то не очень удобного формата. Как это можно решить? Мне необходим числовой. А он переносит на английском месяц и день недели. Помогите пожалуйста
Подскажите, пожалуйста, а вот эта вся процедура зачем? Для того, чтобы мы одни и те же данные из одной вызгрузки (допустим, нам надо вставлять данные из выгрузки) могли быстро вставлять в разные шаблоны, которые мы подгружаем?
Да. Допустим Вам нужно подготовить кучу одинаковых документов, но с разными данными. Например Вы можете выгрузить контрагентов из 1с. Кроме того, вы можете настроить триггер и документы будут формироваться вообще автоматически
Здравствуйте! Можно ли настроить сохранение названия файла с порядковым номером ("письмо 1", "письмо 2")? И если да, то как можно настроить автоматически создавать файл со следующим номером после уже созданных (есть письмо 1, письмо 2, надо создать письмо i+1)
Добрый день. Можно переменную с порядковый номером последнего документа хранить где-нибудь на листе. Считывать его. Дальше используя цикл сохранять нужное количество документов и опять сохранять переменную на листе. Но! Можно сделать проще. Сохраняйте всё время под одним именем. Система автоматически добавит к названию номер копии.
@@esdelano и еще проблема, все вставленные фрагменты не на своих местах. Порядок внесения в скрипт имеет значение? Должно быть ровно так, как это в договоре прописано? Если какой то текст повторяется, это надо так же неск раз писать? Спасибо за помощь!
Спасибо огромное за урок! У меня возникла проблема с выполнением скрипта, может кто-то в курсе как решить. Я перепроверила ID, все доки на моем аккаунте, перелогиниться тоже пробовала ничего не помогает(( Exception: You do not have permission to call DocumentApp.openById. Required permissions:
Я вас обожаю! Как просто и понятно вы всё объясняете! Спасибо вам огромное!
Оказывается всё просто и совсем не сложно!
Спасибо, ждём новых уроков
Спасибо. Можно ли копии документа автоматически присваивать название, например, что бы в названии документа присутствовало значение кому документ предназначен. Так проще будет их отличать. Спасибо за уроки. Так же было бы интересно узнать про различные методы скриптов, основные команды в этих методах.
Да. Файлы можно переименовывать.
Я это буду рассказывать в уроке про pdf файлы (это через 1 или 2 урока по таблицам).
Про методы сделаю отдельный урок. Спасибо за идею
Это просто мега круто🎉🎉🎉 огонь спасибо вам
Оч полезно. Спасибо!
Благодарю Вас за видео, очень сильно помогли!
Спасибо за Ваш отзыв! Рад что помогло
Потрясающе! Спасибо!!!! Подписался, поделился, пролайкал и спонсировал )) Как можно договориться с Вами о частных уроках под конкретную задачу?
Очень пригодилось.А можно вставить в формулу гугл документа данные из таблицы и как это сделать?
а что в скрипт надо добавить, чтобы новый документ открывался сам сразу после того, как сгенерируется? у вас вроде есть в скрипте этот код, но он не срабатывает. Когда папка со генерированными документами наполняется, там сложно определить где когда какой был создан
Добрый день! Подскажите, а как подставить данные с таблицы Google в другую таблицу, без формул, скриптом, чтобы так же копировался файл?
Доброго дня.
Написал на основе данного скрипта схожий скрипт на 143 перменных, они все однотипные. Всё работает, скрипт выполняет свою функцию, только в получаемом шаблон возникает следующая проблема - начинается перенос страницы.
Стандартно между последней строкой документа 1 и документа 2 стоят 3 пустых строчки, но почему-то скрипт начинает менять их количестов время от времени и документы съезжают с правильной позицией листа.
По сути, сделал всё то же самое, как в Вашем видео, только таких листов 20, и у каждого свои 7 индивидуальных перменных и 3 общих для всех страниц, получается на каждой странице по 10 переменных, но вот начинает съезжать, не подскажете что делать?
Получилось! Спасибо!
На здоровье!
Спасибо большое!
Проблема появилась в этой строке
const tempDocFile=DocumentApp.openById(tempFile.getId());
я так почитал ниже комментарии. писали что это связано с доступом к файлу/ Но это мой файл созданный на моем гугл диске. Выходил из аккаунта, входил вновь. создавал новые документы - без изменений. Помогите, пожалуйста
Добрый день! Проверьте правильность указания ID файла. Обратите внимание, что при использовании этой конструкции нужно указывать именно ID файла, а не его имя и не ссылку на него
@@esdelano id прописаны правильно. Копии создаются, но не открываются
@@esdelano я проверял несколько раз. Копии в указанных дирректориях он создает. но не может получается ее открыть что бы заменить текст в них. меня бы устроил и код который просто меняет текст в одном док-файле, без создания копий. может он бы работал у меня...
@@vitkonkordvitkonkord865 подтверждаю, у меня такая же проблема, не могу ее решить, откликнитесь кто победил
Та же самая проблема в 8 строке, может на гугл диске что-то изменилось что начала проявляться такая проблема, увидим, может автор подскажет
Здравствуйте. Спасибо за Ваши видео. Подскажите пожалуйста, столкнулся с такой проблемой при выполненнии скрипта пишет Ошибка
Exception: The document is inaccessible. Please try again later.
Добрый день.
Либо это временная проблема, либо есть проблема с доступом к файлам. При запуске скрипта должно было выйти сообщение, в котором нужно было разрешить доступ к файлам для вашего скрипта. Закройте все приложения (таблицы и документы), зайдите на гугл диск и перелогиньтесь, затем откройте гугл таблицы. Должно всё заработать
@@esdelano К сожалению перелогонился и не помогло ( Ссылается, что ошибка в этой строчке - const tempDocFile = DocumentApp.openById(tempFile.getId());
Доступ файлам я предоставил
@@esdelano Все, проблему решил) Дело в том, что я брал документ (форму) с другого аккаунта гугл диска, скачал и вставил в тот на котором скрипт. В этом и была проблема. В любом случае, спасибо за обратную связь !)
Ок. Отлично.
На самом деле можно было открыть доступ для вашего аккаунта с того, где шаблон
@@dmitriyzakovorotniy365 У меня на этом же месте возникла проблема. Только она в другом заключалась, файл был экселевский, решил копипастой в док)
Как то ранее спрашивал про то как при нажатии на старт выгружать данные строки по своим папкам. Сейчас выгружает все в пдф файлы в одну папку а как сделать что бы по разным папочкам все выгружало с присвоением имени папке.
Добрый день!
Сделаю подобное видео. Чуть позже
@@esdelano Очень ждем)))
Класс. однозначно лайк. а как сделать чтобы таблица добавлялась в шаблон? Таблица должна быть на отдельном листе и лист называться {Лист1} ????
Спасибо за уроки, очень полезные. Подскажите, нет ли у вас информации по подобной вставке изображений из Гугл диска ? НАощупь не получилось сделать, хотя прямо чувствую, что близко )
Добрый день!
Вы, когда вставляете фото, там есть возможность выбрать вкладку "На диске"
@@esdelano я про пакетную вставку скриптом.
спасибо за информативное видео! Столкнулась с проблемой : вот этот пункт const tempDocFile = DocumentApp.openById(tempFile.getId()) - пишет ошибка Код 6 . Файл формируется в папке, но замена не происходит. Подскажите, пожалуйста, как решить проблему. Все ID верно ввела.
та же проблема, только не код 6 а ошибка в строке 6. У вас получилось решить?
сама ошибка - Exception: The document is inaccessible. Please try again later.
Все хорошо, только столкнулся с такой проблемкой:
1. Переменные данные, не вставляются в колонтитул :(
2. Вместо даты типа хх.yy.zzzz вставляются данные типа - Fri Dec 31 2021 00:00:00 GMT+0300 (Moscow Standard Time) как с этим бороться? СПАСИБО!!!
2. попробуйте вместо " .getValue()" при присваивании значений переменным использовать " .getDisplayValue()".
@@Viazm спасибо помогло!!!
Можно ли задать имя нового документа сразу же?
Можно ли сделать так, чтобы автоматически печатались данные из базы данных, печатная форма с указание порядкового номера с такого то по такой.
Да. Конечно можно. Вы можете в скрипт вставить условие Если (IF)
Подскажите, пжл, как создать один документ на основании заполненных строк (около 10 шт). чтобы все заполненные строки попали в один документ в по порядку в табличную часть?
Добрый день!
В шаблоне сделайте таблицу на 10 строк + 1 строка для заголовка и туда подставляйте даннын
Здравствуйте, подскажите пожалуйста как добавить скрипт напротив ячейки строки. (как в конце видео).
Добрый день. А как сделать чтобы сформированный документ сразу на печать отправлялся?
Здравствуйте! При попытке использовать метод создания копии файла получаю ошибку TypeError: DriveApp.makeCopy is not a function. Может, она устарела? Что можно использовать вместо неё?
Здравствуйте. Спасибо за видео. Как с вами можно связаться?
Добрый день! Почта есть в описании канала
@@esdelano
Сайт вижу ссылки на канал вижу, а почту не вижу((
Добрый день! Можете подсказать, как перед созданием копии шаблона очистить все старые файлы в папке?
Добрый день! Есть два пути:
1. Вручную очистить (или удалить) папку на Гугл диске
2. В скрипте прописать удаление папки и ее создание, либо ее очистки: tempFolder.removeFile;
.
Добрый день! Подскажите пожалуйста а где теперь находится редактор скриптов - в меню его сейчас нет
Добрый день!
Меню "Расширения", далее пункт "App Script"
@@esdelano спасибо! Очень понятные и полезные уроки. Коротко и по делу главное. Подписался
ДОбрый день.
Подскажите, а можно как то выгрузить изображение из ячейки в шаблон?
Добрый день! Это не возможно. К сожалению
У меня когда вставляется дата, то она очень некрасивая получается. Например если в экселе ввожу 27.05.2022, то в текстовом получается такое Fri May 27 2022 10:00:00 GMT+0300 (Москва, стандартное время)
Нашел в комментариях этот метод и помогло: вместо " .getValue()" при присваивании значений переменным использовать " .getDisplayValue()".
@@Valerichlg спасибо!!!
Вроде текст процедуры напечатал правильно, но текстовка из экселя не переносится в шаблон документа. Работает только инструмент создания копии. в чем может быть проблема?
function Creator() {
const docFile = DriveApp.getFileById("1Qx8LakXrXdhGipQwnzE_IfJXF1CX11aldsoWQFz5S2A");
//это файл шаблона
const tempFolder = DriveApp.getFolderById("1GAu8suSuX-Bce_OpmLrzcHksPSA0d8v7");
//это директория для новых файлов
const tempFile = docFile.makeCopy(tempFolder);
//делаем копию шаблона
const tempDocFile = DocumentApp.openById(tempFile.getId());
//открываем созданную копию
const body = tempDocFile.getBody();
// тело файла копии
var list = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var a1 = list.getRange(1,2).getValue();
var a2 = list.getRange(2,2).getValue();
var a3 = list.getRange(3,2).getValue();
var a4 = list.getRange(4,2).getValue();
body.replaceText("{Получатель}",a1);
body.replaceText("{Адрес получателя}", a2);
body.replaceText("{Обращение}",a3);
body.replaceText("{сообщение}",a4);
tempDocFile.saveAndClose();
Здравствуйте! Подскажите пожалуйста как сделать для этого кода кнопку для мобильной версии!
В мобильной версии это сделать нельзя.
Можно настроить запуск скрипта, например с помощью триггер.
А ещё у меня есть урок о том, как запускать скрипты из мобильной версии. Поищите
@@esdelano смотрела!) Мне нужен именно этот код, для него пробовала сделать триггер, тоже не получилось.
Подскажите пожалуйста как этот код запускать с моб версии?
Спасибо, но возникли сложности. Каким образом связывается конкретный лист из многолистовой таблицы? GOOGLEдокумент создал с нуля. Скопировал ID, вставил в скрипе в строчку "файл шаблона". короче все по инструкции, но мне кажется что ошибка именно в строке
var list = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
нужно ли прописывать где-то имя гугл таблицы и листа? ID указано верно
Добрый день!
В этом скрипте собственно и указывается, что данные будут браться именно с активного листа. Т.е. с того, который открыт в момент запуска скрипта.
Если нужно использовать другой лист, то для переменной list, нужно использовать метод не получения активного листа, а назначения
.setActiveSheet(...)
Вечер добрый. Небольшая проблема с переносом даты (дата тсоздана с помощью формулы today) в шаблон. Они почему-то не очень удобного формата. Как это можно решить? Мне необходим числовой. А он переносит на английском месяц и день недели. Помогите пожалуйста
Здравствуйте. попробуйте вместо " .getValue()" при присваивании значений переменным использовать " .getDisplayValue()".
Подскажите, пожалуйста, а вот эта вся процедура зачем? Для того, чтобы мы одни и те же данные из одной вызгрузки (допустим, нам надо вставлять данные из выгрузки) могли быстро вставлять в разные шаблоны, которые мы подгружаем?
Да.
Допустим Вам нужно подготовить кучу одинаковых документов, но с разными данными. Например Вы можете выгрузить контрагентов из 1с.
Кроме того, вы можете настроить триггер и документы будут формироваться вообще автоматически
Добрый день. А если несколько видов документов как можно сделать из одних данных множество разных документов? Заранее благодарю
По мне так просто копировать один и тот же скрипт . Просто указывать ид разного шаблона.
У меня в Инструментах нет редактора скриптов. Что делать?
Добрый день! Подскажите пожалуйста, а как можно сделать чтобы данные вносились со всего столбца, а не из конкретной ячейки?
Только если циклом делать.
Получилось объединение гугл док и таблицы?
По этой теме есть урок на канале
@@esdelano если несложно ссылочку можно?
А как вы сделали кнопку «Сформировать»?
Вставляете рисунок, нажимаете 3 точечки (правый верхний угол рисунка) и назначаете макрос (название вашей функции)
Здравствуйте! Можно ли настроить сохранение названия файла с порядковым номером ("письмо 1", "письмо 2")? И если да, то как можно настроить автоматически создавать файл со следующим номером после уже созданных (есть письмо 1, письмо 2, надо создать письмо i+1)
Добрый день.
Можно переменную с порядковый номером последнего документа хранить где-нибудь на листе.
Считывать его. Дальше используя цикл сохранять нужное количество документов и опять сохранять переменную на листе.
Но!
Можно сделать проще.
Сохраняйте всё время под одним именем. Система автоматически добавит к названию номер копии.
Здравствуйте! помогите решить проблему - при назначении скрипта кнопке "выполнить" пишет, что такого скрипта нет, хотя в списке я его вижу
Проверьте пожалуйста написание. Возможно пробел
@@esdelano нет, все верно, перепроверила, написала по другому, все равно не видит((
@@esdelano и еще проблема, все вставленные фрагменты не на своих местах. Порядок внесения в скрипт имеет значение? Должно быть ровно так, как это в договоре прописано? Если какой то текст повторяется, это надо так же неск раз писать?
Спасибо за помощь!
можно ли перенести изображение из таблицы в шаблон?
Нет. Можно только ссылку на изображение из интернета
как добавить данные из конкретной таблицы? очень много у меня открытых таблиц
Клас
ругается на ((( Exception: Unexpected error while getting the method or property getFolderById on object DriveApp.
скажите, пожалуйста, у вас получилось исправить данную проблему? у меня тоже такая ошибка
Спасибо огромное за урок! У меня возникла проблема с выполнением скрипта, может кто-то в курсе как решить. Я перепроверила ID, все доки на моем аккаунте, перелогиниться тоже пробовала ничего не помогает((
Exception: You do not have permission to call DocumentApp.openById. Required permissions:
В имени файла нет ошибки? (Может ID не верно откопировали?)
Попробуйте в файле открыть доступ всем у кого есть ссылка
У вас получилось решить эту проблему?
А как можно подставлять фото, если оно приходит в виде ссылки на гугл диск?
Как сделать кнопку Сформировать в гугл экселе?
Добрый день!
Можно нарисовать, например прямоугольник и назначить ему выполнение макроса
При переносе процентов из гугл таблицы они в гугл документах выглядят как "доли". Т.е. 20% становится 0,2
Попробуйте использовать другой формат в таблицах, например %
@@esdelano именно их и пробовал. пришлось умножать на число и делить на 100, тогда в итоге получилось