Google Таблицы. Урок 91. Как сформировать несколько текстовых документов по шаблону по таблице

Sdílet
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

Komentáře • 62

  • @esdelano
    @esdelano  Před 3 lety +2

    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

    • @user-hw8nd4dn1v
      @user-hw8nd4dn1v Před 3 lety

      Подскажите пожалуйста, как можно в 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г.

    • @Oven86tok
      @Oven86tok Před 7 měsíci

      благодарю)хорошая инфа обязательно пригодиться. небольшое вознаграждение тоже отправил. отдельная благодарность за отдельный код

  • @user-qs2kj1sl4m
    @user-qs2kj1sl4m Před rokem

    спасибо

  • @user-hurma
    @user-hurma Před 2 měsíci

    Привет. Спасибо за подробный урок по Google Script. Очень помогает в работе. Так же я хотел задать вопрос, если ответите было бы здорово, - const tempDocFile = DocumentApp.openById(tempFile.getId()); данная переменная не хочет работать. Всегда выдает ошибку. Не хочет открывать файл который был копирован предыдущей переменной. Может у вас была подобная ошибка, как вы от нее избавились?

  • @mikhailtraytel2267
    @mikhailtraytel2267 Před 2 lety

    Подскажите пожалуйста, как оптимизировать код для генерации большого количества документов? У меня сейчас в таблице 2400 строк, app script отваливается по time out.
    Нарезать кусками - вариант, но хочется более элегантного решения.

  • @user-or2vs6rm9i
    @user-or2vs6rm9i Před 3 lety

    супер инструкции есть курсы по программированию

    • @esdelano
      @esdelano  Před 3 lety

      Спасибо за отзыв

    • @user-sc5pu2ql1g
      @user-sc5pu2ql1g Před 3 měsíci

      ​ @esdelano добрый день, сделала все как в вашем видео, но почему то у меня в папку сохраняется не 2 документа, которые у меня в таблице, а 8 (2 из таблицы и 6 пустых) как это убрать, подскажите, пожалуйста?

  • @user-nd3rp5lx1q
    @user-nd3rp5lx1q Před 3 lety

    Очень понятное изложение материала. Спасибо.
    Вопрос покажется простым, но как настроить доступ программы к данным? Если у вас такого урока нет, то подскажите, как правильно сформулировать для поисковика данный вопрос.

    • @esdelano
      @esdelano  Před 3 lety

      Добрый день! Уточните, пожалуйста вопрос
      Вам нужно настроить совместный доступ?
      Посмотрите этот урок: czcams.com/video/lTbMeFt2N3s/video.html

  • @user-yq4vk6mx7m
    @user-yq4vk6mx7m Před 25 dny

    Добрый день . Подскажите пожалуйста. Предупреждение для выполнения этого проекта требуется доступ к вашему аккаунт гугл. Что мне нужно сделать?

  • @dronryzshkov5249
    @dronryzshkov5249 Před rokem

    Добрый день! Подскажите, у меня таблица в ней есть 600 заполненных строк с данными, когда включаю скрип он пытается делать все строки и скрип потом отваливается. Можно сделать так чтобы печатал последнюю заполненную стоку, а не все 600

  • @user-pk8qd1of1x
    @user-pk8qd1of1x Před rokem

    Здравствуйте. Большое спасибо за ваши уроки) Подскажите пожалуйста, а возможно ли формировать по данными из таблицы всё в 1 документ? Чтобы каждое новое письмо формировалось с новой страницы в одном документы, а не отдельным файлом?

    • @esdelano
      @esdelano  Před rokem

      Можно конечно. Это зависит от настроек шаблона

    • @user-pk8qd1of1x
      @user-pk8qd1of1x Před rokem

      @@esdelano А не подскажете как примерно можно реализовать?
      Прописать в цикле копирование текста шаблона и вставка с новой страницы? Или как-то объеденить все файлы можно?

  • @user-sc5pu2ql1g
    @user-sc5pu2ql1g Před 3 měsíci

    добрый день, сделала все как в вашем видео, но почему то у меня в папку сохраняется не 2 документа, которые у меня в таблице, а 8 (2 из таблицы и 6 пустых) как это убрать, подскажите, пожалуйста?

  • @user-gb5bz7fg5r
    @user-gb5bz7fg5r Před rokem

    Добрый день, подскажите пожалуйста, какую формулу написать и где именно ее подставить , что бы с помощю чекбокса формировать файлы по конкретно нужным строкам.Заранее спасибо)

    • @Gabilen
      @Gabilen Před 9 měsíci

      да тоже хотел бы знать, как будет выглядеть скрипт!

  • @user-yt6ls4tv6u
    @user-yt6ls4tv6u Před 3 lety

    Добрый день. Спасибо. Супер. А обещанный скрипт в описании?

    • @esdelano
      @esdelano  Před 3 lety

      Упс. Забыл, но уже добавил

    • @user-yt6ls4tv6u
      @user-yt6ls4tv6u Před 3 lety

      Спасибо большое. Это как раз то, что мне сейчас нужно ) С нетерпением жду следующих уроков

  • @Bad0Block
    @Bad0Block Před 2 lety

    А можно как-то сделать чтоб файлы именовались именно по моему шаблону включая некоторые переменные?

    • @esdelano
      @esdelano  Před 2 lety

      Добрый день!
      Конечно можно.
      Нужно сформировать переменную, а затем при создании файла указать ее в имени.

    • @Izhbraganza
      @Izhbraganza Před 2 měsíci

      @@esdelano на вашем примере на каком шаге это сделать? пробовал в конце tempDocFile.saveAndClose().setName(a3); - не получается

  • @user-xk5oy9qf5u
    @user-xk5oy9qf5u Před 2 lety

    Скрипт отличный, полет нормальный. Но вот с картинками оказалось не все так просто, хотел передать QR код из ячейки. В есть мысли, куда крутить скрипт для этого ?

    • @user-xk5oy9qf5u
      @user-xk5oy9qf5u Před 2 lety +1

      В общем-то сам нашел ответ. Спасибо :)

    • @esdelano
      @esdelano  Před 2 lety

      Отлично!

    • @Vitaminart1
      @Vitaminart1 Před rokem

      ​@@user-xk5oy9qf5u Поделитесь решением) Как отображение QR кодов наладили?
      Ещё интересно, можно ли сделать сохранение каждой строки не в отдельный файл, а на новый лист документа?
      А канал просто находка! Автору благодарности)

  • @Gabilen
    @Gabilen Před 9 měsíci

    @esdelano

  • @daniilpostnov
    @daniilpostnov Před rokem

    А можно из списка чекбоксами выбрать и только для них сделать документы?

    • @esdelano
      @esdelano  Před rokem

      Как раз сейчас делаю подобное видео. Скоро выйдет

    • @daniilpostnov
      @daniilpostnov Před rokem

      @@esdelano офигенно! Спасибо, буду ждать. Подписался и проставил лайки :)

    • @Gabilen
      @Gabilen Před 9 měsíci

      @esdelano подскажите вышло видео, можно на него ссылку?

  • @user-zh9ww6oh9f
    @user-zh9ww6oh9f Před rokem

    Подскажите пжл на разных листах разное количество строк, но скрипт один, как сделать чтобы скрипт формировал только по заполненным строкам, а не все строчки которые есть в файле? а то получается 1 заполненная строчка и 20 пустых, и 21 файл в папке

    • @esdelano
      @esdelano  Před rokem

      Добрый день!
      Можно на отдельном листе сначала подготовить необходимые данные (без пропусков), а затем уже выгружать

  • @user-nd3rp5lx1q
    @user-nd3rp5lx1q Před 3 lety

    Добрый день!
    Подскажите пож-та, как формировать документ только по необходимой строке?

    • @esdelano
      @esdelano  Před 3 lety +1

      Добрый день!
      Можно добавить столбец с чек-боксами и в скрипте сделать проверку IF на то, что стоит галочка (true)

    • @user-nd3rp5lx1q
      @user-nd3rp5lx1q Před 3 lety

      @@esdelano Спасибо

    • @55ska
      @55ska Před 3 lety +2

      @@esdelano А можно поподробнее пожалуйста?))

    • @user-vy1vj8os8g
      @user-vy1vj8os8g Před 2 lety

      Подскажите как сделать, пожалуйста.

    • @igalimov
      @igalimov Před rokem

      @@esdelano а как можно это сделать?

  • @user-zu3zf3cs4u
    @user-zu3zf3cs4u Před rokem

    Добрый день! А как можно сделать, если есть таблица, есть печатная форма, данные автоматически заполняются, только после введения номера по порядку и по одному печатаются, а можно ли сделать автоматическую печать сразу нескольких документов, ввел номера с 40-45 и все напечаталось

    • @esdelano
      @esdelano  Před rokem

      Да. Конечно можно. Вы можете в скрипт вставить условие Если (IF)

    • @Gabilen
      @Gabilen Před 9 měsíci

      @@esdelano можете подсказать как это сделать?

  • @user-yt6ls4tv6u
    @user-yt6ls4tv6u Před 3 lety

    Подскажите, пожалуйста. Даты из таблицы, при создании документа по шаблону, выгружаются в формате Sun Jan 03 2021 00:00:00 GMT+0300 (Москва, стандартное время). Как этого избежать? Нужно просто 03.01.2021. Также и в числах, вместо запятой появляется точка.

    • @esdelano
      @esdelano  Před 3 lety

      Добрый день!
      Это, возможно, пока такой баг в программе. Пока не нашёл решения. Программа постоянно обрабатывается и возможно в ближайшее время они сделают нормальную совместимость по датам.
      Что касается запятой, попробуйте из числа сделать текст. Сначала получите целую часть (округление с отбрасыванием копеек, затем копейка. После этого получите текст склеев три элемента: целое, запятую и копейки, после этого отправляейте в документ

    • @user-yt6ls4tv6u
      @user-yt6ls4tv6u Před 3 lety

      @@esdelano Очень жаль. 🙁Так все классно получалось с созданием документа. и вот такая проблема 😞. В любом случае, спасибо Вам и за быстрый ответ и за замечательные уроки

    • @Tucha12
      @Tucha12 Před 3 lety

      Я решил эту проблему конвертацией формата даты в текстовый формат. Конвертацию автоматизировал макросом. В этом деле есть нюансы, просто не будет, зато интересная задачка)

    • @user-qb8cj3qz9o
      @user-qb8cj3qz9o Před 2 lety

      @@Tucha12 Добрый день. Можно рассказать подробнее?

    • @Djusi_Man
      @Djusi_Man Před 2 lety

      Можно перевести в формат числа Обычный текст - тогда сработает

  • @user-ub6xt7ov2j
    @user-ub6xt7ov2j Před rokem

    ПОдскажите, а как сделать, чтобы из таблицы передавалась дата в формате ХХ.YY.ZZZZ? Сейчас передается в формате- Tue Sep 23 2003 00:00:00 GMT+0400 (Moscow Summer Time)

    • @Bober158
      @Bober158 Před rokem

      Нашел ответ?)

    • @user-ub6xt7ov2j
      @user-ub6xt7ov2j Před rokem

      @@Bober158 Неа (

    • @alekseypermyakov9830
      @alekseypermyakov9830 Před rokem

      ​@@user-ub6xt7ov2j var a1 = list.getRange(ваша ячейка с датой, 1, 1 ).getDisplay(); вместо getValue()

  • @andreiviltouski2390
    @andreiviltouski2390 Před 3 lety

    Для полноты картины надо было отправить письма получателям с помощью скрипта.

    • @esdelano
      @esdelano  Před 3 lety

      Не всё сразу. Постепенно. Смотрите следующие два урока. Там как раз про это. Будем формировать pdf файлы, удалять черновики и отправлять по почте

  • @psevdonim911
    @psevdonim911 Před 3 lety

    У меня ругается на строку
    const tempDocFile = DocumentApp.openById(tempFile.getId());
    Говорит: Документ недоступен. Повторите попытку позже.

    • @esdelano
      @esdelano  Před 3 lety

      Проверьте, что правильно скопировали id файла. Id у вас должен быть свой. Не такой, как у меня.