Google Таблицы. Урок 91. Как сформировать несколько текстовых документов по шаблону по таблице
Vložit
- čas přidán 29. 10. 2020
- Google Таблицы. Урок 91. Как сформировать несколько текстовых документов по шаблону по данным из таблицы
В этом видео-уроке мы научимся, используя шаблон делать документы с подставлением данных из таблицы гугл.
Смотрите мои уроки по таблицам гугл, делитесь с друзьями, ставьте лайки и пишите комментарии. Спасибо.
Посетите наш сайт: e-sdelano.ru
Наш канал в Яндекс Дзен: zen.yandex.ru/sdelano
Этот канал есть и на RUTUBE: rutube.ru/channel/23934103/
Подписывайтесь на Телеграм (@esdelano): t.me/esdelano
Буду рад любым пожертвованиям на поддержку канала yoomoney.ru/to/41001252667153
function Creator() {
const docFile = DriveApp.getFileById("1bCHPez1OTRtt7tgmlkYPoV3OC7j1yl1CaRfkltZzcTQ");
// это файл шаблона
const tempFolder = DriveApp.getFolderById("19HPiA8XXpCOgTXithaOF3166zq6yOCOi");
// это директория для новых файлов
var list = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var l=list.getLastRow();
//определяем кол-во строк
var a1 = list.getRange(2, 2).getValue()
// сообщение
for (var i=5; i
Подскажите пожалуйста, как можно в google script получить дату из ячейки, и вставить ее в Гугл документ в другом формате. Например с ячейки получаю в формате «01.12.2020» а в гугл документ хочу что бы она отобразилась в виде «01» декабря 2020г.
var list = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var a3 = Utilities.formatDate(new Date(list.getRange(3, 3).getValue()), "GMT+0", 'dd MMMM yyyy');
делая вот так, она вставляется в таком виде: " 01 December 2020"
на английском не устраивает.
К примеру нужно по данным из Таблицы заполнять договора. А там формат даты вот такой: 01 «Декабря» 2020г.
благодарю)хорошая инфа обязательно пригодиться. небольшое вознаграждение тоже отправил. отдельная благодарность за отдельный код
спасибо
Привет. Спасибо за подробный урок по Google Script. Очень помогает в работе. Так же я хотел задать вопрос, если ответите было бы здорово, - const tempDocFile = DocumentApp.openById(tempFile.getId()); данная переменная не хочет работать. Всегда выдает ошибку. Не хочет открывать файл который был копирован предыдущей переменной. Может у вас была подобная ошибка, как вы от нее избавились?
Подскажите пожалуйста, как оптимизировать код для генерации большого количества документов? У меня сейчас в таблице 2400 строк, app script отваливается по time out.
Нарезать кусками - вариант, но хочется более элегантного решения.
супер инструкции есть курсы по программированию
Спасибо за отзыв
@esdelano добрый день, сделала все как в вашем видео, но почему то у меня в папку сохраняется не 2 документа, которые у меня в таблице, а 8 (2 из таблицы и 6 пустых) как это убрать, подскажите, пожалуйста?
Очень понятное изложение материала. Спасибо.
Вопрос покажется простым, но как настроить доступ программы к данным? Если у вас такого урока нет, то подскажите, как правильно сформулировать для поисковика данный вопрос.
Добрый день! Уточните, пожалуйста вопрос
Вам нужно настроить совместный доступ?
Посмотрите этот урок: czcams.com/video/lTbMeFt2N3s/video.html
Добрый день . Подскажите пожалуйста. Предупреждение для выполнения этого проекта требуется доступ к вашему аккаунт гугл. Что мне нужно сделать?
Добрый день! Подскажите, у меня таблица в ней есть 600 заполненных строк с данными, когда включаю скрип он пытается делать все строки и скрип потом отваливается. Можно сделать так чтобы печатал последнюю заполненную стоку, а не все 600
Здравствуйте. Большое спасибо за ваши уроки) Подскажите пожалуйста, а возможно ли формировать по данными из таблицы всё в 1 документ? Чтобы каждое новое письмо формировалось с новой страницы в одном документы, а не отдельным файлом?
Можно конечно. Это зависит от настроек шаблона
@@esdelano А не подскажете как примерно можно реализовать?
Прописать в цикле копирование текста шаблона и вставка с новой страницы? Или как-то объеденить все файлы можно?
добрый день, сделала все как в вашем видео, но почему то у меня в папку сохраняется не 2 документа, которые у меня в таблице, а 8 (2 из таблицы и 6 пустых) как это убрать, подскажите, пожалуйста?
Добрый день, подскажите пожалуйста, какую формулу написать и где именно ее подставить , что бы с помощю чекбокса формировать файлы по конкретно нужным строкам.Заранее спасибо)
да тоже хотел бы знать, как будет выглядеть скрипт!
Добрый день. Спасибо. Супер. А обещанный скрипт в описании?
Упс. Забыл, но уже добавил
Спасибо большое. Это как раз то, что мне сейчас нужно ) С нетерпением жду следующих уроков
А можно как-то сделать чтоб файлы именовались именно по моему шаблону включая некоторые переменные?
Добрый день!
Конечно можно.
Нужно сформировать переменную, а затем при создании файла указать ее в имени.
@@esdelano на вашем примере на каком шаге это сделать? пробовал в конце tempDocFile.saveAndClose().setName(a3); - не получается
Скрипт отличный, полет нормальный. Но вот с картинками оказалось не все так просто, хотел передать QR код из ячейки. В есть мысли, куда крутить скрипт для этого ?
В общем-то сам нашел ответ. Спасибо :)
Отлично!
@@user-xk5oy9qf5u Поделитесь решением) Как отображение QR кодов наладили?
Ещё интересно, можно ли сделать сохранение каждой строки не в отдельный файл, а на новый лист документа?
А канал просто находка! Автору благодарности)
@esdelano
А можно из списка чекбоксами выбрать и только для них сделать документы?
Как раз сейчас делаю подобное видео. Скоро выйдет
@@esdelano офигенно! Спасибо, буду ждать. Подписался и проставил лайки :)
@esdelano подскажите вышло видео, можно на него ссылку?
Подскажите пжл на разных листах разное количество строк, но скрипт один, как сделать чтобы скрипт формировал только по заполненным строкам, а не все строчки которые есть в файле? а то получается 1 заполненная строчка и 20 пустых, и 21 файл в папке
Добрый день!
Можно на отдельном листе сначала подготовить необходимые данные (без пропусков), а затем уже выгружать
Добрый день!
Подскажите пож-та, как формировать документ только по необходимой строке?
Добрый день!
Можно добавить столбец с чек-боксами и в скрипте сделать проверку IF на то, что стоит галочка (true)
@@esdelano Спасибо
@@esdelano А можно поподробнее пожалуйста?))
Подскажите как сделать, пожалуйста.
@@esdelano а как можно это сделать?
Добрый день! А как можно сделать, если есть таблица, есть печатная форма, данные автоматически заполняются, только после введения номера по порядку и по одному печатаются, а можно ли сделать автоматическую печать сразу нескольких документов, ввел номера с 40-45 и все напечаталось
Да. Конечно можно. Вы можете в скрипт вставить условие Если (IF)
@@esdelano можете подсказать как это сделать?
Подскажите, пожалуйста. Даты из таблицы, при создании документа по шаблону, выгружаются в формате Sun Jan 03 2021 00:00:00 GMT+0300 (Москва, стандартное время). Как этого избежать? Нужно просто 03.01.2021. Также и в числах, вместо запятой появляется точка.
Добрый день!
Это, возможно, пока такой баг в программе. Пока не нашёл решения. Программа постоянно обрабатывается и возможно в ближайшее время они сделают нормальную совместимость по датам.
Что касается запятой, попробуйте из числа сделать текст. Сначала получите целую часть (округление с отбрасыванием копеек, затем копейка. После этого получите текст склеев три элемента: целое, запятую и копейки, после этого отправляейте в документ
@@esdelano Очень жаль. 🙁Так все классно получалось с созданием документа. и вот такая проблема 😞. В любом случае, спасибо Вам и за быстрый ответ и за замечательные уроки
Я решил эту проблему конвертацией формата даты в текстовый формат. Конвертацию автоматизировал макросом. В этом деле есть нюансы, просто не будет, зато интересная задачка)
@@Tucha12 Добрый день. Можно рассказать подробнее?
Можно перевести в формат числа Обычный текст - тогда сработает
ПОдскажите, а как сделать, чтобы из таблицы передавалась дата в формате ХХ.YY.ZZZZ? Сейчас передается в формате- Tue Sep 23 2003 00:00:00 GMT+0400 (Moscow Summer Time)
Нашел ответ?)
@@Bober158 Неа (
@@user-ub6xt7ov2j var a1 = list.getRange(ваша ячейка с датой, 1, 1 ).getDisplay(); вместо getValue()
Для полноты картины надо было отправить письма получателям с помощью скрипта.
Не всё сразу. Постепенно. Смотрите следующие два урока. Там как раз про это. Будем формировать pdf файлы, удалять черновики и отправлять по почте
У меня ругается на строку
const tempDocFile = DocumentApp.openById(tempFile.getId());
Говорит: Документ недоступен. Повторите попытку позже.
Проверьте, что правильно скопировали id файла. Id у вас должен быть свой. Не такой, как у меня.