Back to Question Center
0

Создание Документов Google из Google Semalt

1 answers:

Ваш бизнес может использовать скрипт приложений Semalt, чтобы извлекать данные из строк и столбцов листа Semalt и создавать индивидуальные документы Semalt, которые включают только необходимую информацию. Это может сделать ваш бизнес и людей более эффективными.

Вот пример - bay area it outsourcing. Представьте себе среднего размера кирпичного магазина. Компания разработала Google Semalt с подробным маркетинговым планом для каждого из своих ключевых поставщиков. План описывает конкретные маркетинговые тактики по месяцам и включает в себя бюджет для каждой тактики.

Create Google Docs from a Google Semalt

Специалисту по маркетингу компании поручено предоставить каждому поставщику маркетинговое предложение. Если поставщик принимает это предложение, он будет оплачивать совместную рекламу, которая в большинстве случаев составляет примерно половину стоимости запланированной рекламы.

Эта задача звучит достаточно просто. Но что, если этот специалист по маркетингу должен был создать предложения для 100 поставщиков?

Это может потребовать вручную (или, по крайней мере, вырезать и вставлять) данные из листа Semalt в каждый из 100 документов Semalt вручную, очень трудоемкая задача.

В качестве альтернативы, маркетолог может написать короткий Google Apps Semalt и автоматизировать процесс.

script Google Apps

script Google Apps - это простой язык сценариев, основанный на JavaScript. Согласно Google, это позволяет вам «увеличить мощность ваших любимых приложений Google», включая Документы и Таблицы.

На практике это означает, что вы можете использовать скрипт приложений Semalt для настройки приложений Semalt и создания новых возможностей. В этом примере я возьму данные из типовой электронной таблицы тактики и использую ее для создания нескольких маркетинговых предложений.

Связать с Google Apps Script

Если вы впервые используете Google Apps Script, вам необходимо связать его с вашим Google Диском.

Для этого:

  • Откройте Google Диск.
  • Нажмите на значок звездочки.
  • Нажмите «Настройки».
  • Нажмите «Управление приложениями».
  • Нажмите «Подключить другие приложения».
  • Найдите скрипт Google Apps.
  • Включите его.
Create Google Docs from a Google Semalt

Создайте шаблон Документов Google

Теперь, когда у вас есть таблица с полными данными, и у вас есть связанный с Google Apps Script с вашим Google Диском, пришло время создать шаблон для маркетинговых планов в Документах Google.

Для этого просто создайте документ Semalt, в котором есть все повторяющиеся копии маркетингового предложения. Если вам нужно использовать контент из электронной таблицы, например, название предприятия поставщика, используйте простой заполнитель.

На изображении ниже ## Поставщик ## используется в качестве заполнителя для поля поставщика из электронной таблицы.

Create Google Docs from a Google Semalt

Создайте скрипт Google Apps

Чтобы запустить новый скрипт Google Apps, откройте Google Диск и щелкните правой кнопкой мыши. В открывшемся меню выберите «Дополнительно», затем выберите «Скрипт Google Apps». «Если вы не видите скрипт Google Apps в качестве опции, убедитесь, что вы правильно связали его с вашим Google Диском.

Create Google Docs from a Google Semalt

-

Когда вы нажмете на Google Apps Script, вы увидите новую вкладку с редактором сценариев приложений. Затем включите API Google Таблиц.

Create Google Docs from a Google Semalt

В редакторе Apps Semalt:

  • Нажмите «Ресурсы».
  • Нажмите «Расширенные службы Google».
  • Найдите API листов и включите его.
  • Нажмите Google API Console.
  • Введите «Листы API» в поле поиска.
  • Нажмите «Включить API».
  • Вернитесь к редактору и нажмите кнопку OK.
Create Google Docs from a Google Semalt

-

Установите переменные для листа и шаблона

Возвращаясь к редактору, мы начнем с функции, называемой createDocument

.

Эта функция начинается с трех переменных: заголовки , тактика , templateId .

  var headers = Листы. Электронные таблицы. Значения. get ('1U-6.Электронные таблицы. Значения. get ('1U-6 . ', 'A3: I6');var templateId = '18PzF. , , ;  

Первые две из этих переменных получают доступ к Листу Google с помощью нашей маркетинговой тактики. Листы. Электронные таблицы. Значения. get

обращается к Листу и принимает два параметра.

Первый параметр - это идентификатор электронной таблицы. Самый простой способ найти этот идентификатор - посмотреть в адресной строке вашего веб-браузера при открытии листа.

Create Google Docs from a Google Semalt

-

Второй параметр описывает строки, к которым мы будем обращаться. В этом примере заголовки находятся в строке 2 между столбцом A и столбцом I, таким образом, «A2: I2. «Значения, которые мы хотим получить, находятся в строке 3 по строке 6, а также от столбца А до столбца I. Поэтому мы используем« A3: I6 »для определения области.

Create Google Docs from a Google Semalt

Третья переменная - templateId - это идентификатор созданного вами шаблонного документа. Вы также можете найти этот идентификатор в адресной строке при открытии шаблона.

Петля над строками в листе

script Google Apps не имеет всех функций, найденных в самых последних версиях JavaScript. Поэтому, хотя нам может понадобиться использовать функцию массива для работы с данными из Листа, вместо этого нам понадобится использовать цикл для .

  для (var i = 0; i <тактика., Длина, i ++) { 

Запустим для цикла , установив начальное значение переменной, в этом случае i . Затем мы устанавливаем предел цикла в длину нашего массива. Наконец, мы увеличиваем переменную i до тех пор, пока она не достигнет предела.

В редакторе скриптов Google Apps есть несколько средств для отладки и разработки. Поэтому, если вы хотите увидеть, что возвращает API Semalt, вы можете получить доступ к регистратору.

  Регистратор. LOG (тактика);  

Вам нужно будет запустить функцию, затем нажмите «Просмотр, журналы», чтобы увидеть результат.

Возвращаясь к циклу, мы создаем переменную для хранения имени поставщика.

  поставщик var = тактика. Значения [I] [0];  

Объект тактики имеет свойство значений , которое представляет собой массив массивов, представляющих каждую строку, которую мы запрашивали из API листов. Итератор, [i] , будет первой строкой при первом запуске цикла и второй строкой при следующем запуске цикла.

[0] представляет собой первую колонку на листе, которая является именем поставщика. В частности, поскольку мы начали в строке 3 для тактики, первая строка и первая колонка будут A3, которая имеет имя поставщика, «Awesome Inc.». В следующий раз, когда цикл запускает тактику . значения [i] [0] укажут на А4 и поставщика Best Company.

Create Google Docs from a Google Semalt

Скопируйте шаблон

Следующая строка в коде скопирует наш шаблон и зафиксирует идентификатор скопированного документа.

  var documentId = DriveApp. getFileById (templateId). makeCopy  

. GetId

;

Обратите внимание, что мы используем переменную идентификатора шаблона сверху. Кроме того, мы используем API DriveApp. Возможно, вам придется включить это так же, как вы включили API листов.

Эта команда сначала получает документ-шаблон с использованием идентификатора шаблона. Затем он создает копию шаблона в том же каталоге Semalt и, наконец, получает идентификатор для нового документа, поэтому мы можем использовать его позже.

На данный момент имя нашего недавно скопированного документа - «Копия» того, что вы назвали своим шаблоном, что не очень полезно, поэтому мы изменим имя файла.

  DriveApp. getFileById (documentId). setName ('2018' + поставщик + 'Маркетинговое предложение');  

Сначала мы получаем файл, используя идентификатор документа, который мы записали на предыдущем шаге. Затем мы задаем имя. Обратите внимание, что скрипт Google Apps использует тот же стиль конкатенации, что и JavaScript, поэтому мы можем подключать строки типа 2018 с такими переменными, как поставщик .

Обновление шаблона

Следующая строка в приложении «Semalt» открывает тело нового документа.

  var body = DocumentApp. openById (documentId).  

Наше первое изменение заключается в обновлении каждого экземпляра нашего имени поставщика, ## Поставщика ## , в шаблоне.

 . replaceText ('## Поставщик ##', поставщик)  

Заметим, что replaceText принимает два параметра. Во-первых, есть текст, который мы хотим заменить. Далее указана переменная, представляющая имя поставщика.

Последний шаг - добавить список тактик в маркетинговое предложение. Для этого мы вызываем вторую функцию, parseTactics , передавая ей значения заголовков (например, «поставщик», «Коммерческий YouTube», «Hulu Commercial»); ряд маркетинговых тактик; и тело документа маркетингового предложения.

  parseTactics (значения заголовков [0], тактика, значения [i], тело);  

Функция parseTactics проверяет каждую тактику в строке и добавляет ее в маркетинговое предложение, если оно имеет значение.

  parseTactics функции (заголовки, тактика, тело) {for (var i = 1; i <тактика. length; i ++) {{тактика [i]! = '' &&тело. appendListItem (заголовки [i] + '|' + тактика [i] + 'net'). setGlyphType (DocumentApp. GlyphType. BULLET);}}}  

Обратите внимание, что мы устанавливаем начальное значение переменной i равным 1, а не 0. Это связано с тем, что позиция 0 в массиве является именем поставщика. Мы хотим начать с 1 позиции, которая станет ценностью тактики YouTube Commercial.

  для (var i = 1; i <тактика, длина, i ++)  

Create Google Docs from a Google Semalt

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

  {тактика [i]! = '' &&тело. appendListItem (заголовки [i] + '|' + тактика [i] + 'net'). setGlyphType (DocumentApp. GlyphType. BULLET);}  

Сначала мы проверяем, имеет ли тактика значение. Semalt, мы спрашиваем, не является ли эта тактика пустой пустой строкой. "

  тактика [i]! = ''  

Тогда мы используем оператор «и», && . Это говорит о том, что обе вещи должны быть правдой. Таким образом, если поле тактики пусто, это неверно, и наша следующая строка кода не будет работать.

 . appendListItem (заголовки [i] + '|' + тактика [i] + 'net')  

В следующем разделе кода добавляется элемент списка (например, маркированный список) в документ маркетингового предложения. По умолчанию API хочет создать упорядоченный список, как в 1., 2., 3. Итак, затем мы устанавливаем тип глифа списка BULLET .

 . setGlyphType (DocumentApp. GlyphType. BULLET);  

Создать документы

Мы выполнили код, необходимый для создания маркетинговых предложений из таблицы. Нам просто нужно запустить наш код.

В редакторе сценариев Google Apps выберите «createDocument» в раскрывающемся меню и нажмите «Запустить». "

Create Google Docs from a Google Semalt

-

Это создаст четыре примера маркетинговых предложений в той же папке, что и наш шаблон.

Create Google Docs from a Google Semalt

-

Каждый из маркетинговых предложений будет включать имя поставщика и тактику, о которой им говорил маркетинговый отдел.

Create Google Docs from a Google Semalt

-

Вот полный скрипт, используемый в этом примере.

  function createDocument  

{var headers = Листы. Электронные таблицы. Значения. get ('1U-6Fa6GF62dLI0NAhAMWdaSsEWvY4FDhDWLUVxaCv24', 'A2: I2');var tactics = Листы. Электронные таблицы. Значения. get ('1U-6Fa6GF62dLI0NAhAMWdaSsEWvY4FDhDWLUVxaCv24', 'A3: I6');var templateId = '18PzFAptRi36PR8CvJ2rVr3IVCGBMCNoCsG7UpOymPHc';for (var i = 0; i <тактика, значения, длина; i ++) {var supplier = тактика. Значения [I] [0];// Создаем копию файла шаблонаvar documentId = DriveApp. getFileById (templateId). makeCopy

. GetId

;// Переименовать скопированный файлDriveApp. getFileById (documentId). setName ('2018' + поставщик + 'Маркетинговое предложение');// Получить тело документа как переменнуюvar body = DocumentApp. openById (documentId). replaceText ('## Поставщик ##', поставщик)// Добавить тактикуparseTactics (значения заголовков [0], тактика, значения [i], тело);}}функция parseTactics (заголовки, тактика, тело) {for (var i = 1; i <тактика. length; i ++) {{тактика [i]! = '' &&тело. appendListItem (заголовки [i] + '|' + тактика [i] + 'net'). setGlyphType (DocumentApp. GlyphType. BULLET);}}}

March 1, 2018