Как использовать Apps Script в Google Slides: Полное руководство

Что такое Google Apps Script и зачем он нужен для Google Slides

Google Apps Script – это облачная платформа разработки, позволяющая автоматизировать задачи и расширять функциональность приложений Google Workspace, включая Google Slides. В контексте Google Slides, Apps Script позволяет автоматизировать рутинные операции, генерировать презентации на основе данных, интегрировать Slides с другими сервисами Google и сторонними API, и многое другое.

Преимущества автоматизации Google Slides с помощью Apps Script

Автоматизация Google Slides с помощью Apps Script дает ряд преимуществ:

  • Экономия времени: Автоматизация повторяющихся задач, таких как создание презентаций из данных или обновление графиков, значительно экономит время.
  • Повышение точности: Исключение человеческого фактора при выполнении рутинных операций снижает вероятность ошибок.
  • Расширение функциональности: Apps Script позволяет добавить в Google Slides функциональность, недоступную в стандартном интерфейсе.
  • Интеграция с другими сервисами: Apps Script позволяет интегрировать Google Slides с другими приложениями Google Workspace (Sheets, Docs, Forms) и сторонними сервисами.

Как открыть редактор Apps Script в Google Slides

Чтобы открыть редактор Apps Script в Google Slides, выполните следующие действия:

  1. Откройте презентацию Google Slides.
  2. В меню выберите Инструменты > Редактор скриптов.
  3. Откроется новое окно с редактором Apps Script, привязанным к вашей презентации.

Основы работы с Google Slides API в Apps Script

Объект SlidesApp: доступ к текущей презентации

Объект SlidesApp – это корневой объект для работы с Google Slides API в Apps Script. Он предоставляет доступ к активной презентации и позволяет выполнять различные операции, например, получать слайды, добавлять новые слайды и т.д.

/**
 * @OnlyCurrentDoc
 * Функция для получения активной презентации.
 * @return {GoogleAppsScript.Slides.Presentation} Активная презентация.
 */
function getActivePresentation() {
  return SlidesApp.getActivePresentation();
}

Получение информации о презентации (имя, ID, размеры)

Можно получить информацию о презентации, используя методы объекта Presentation. Например, можно получить имя, ID и размеры презентации.

/**
 * Функция для получения информации о презентации.
 */
function getPresentationInfo() {
  const presentation = SlidesApp.getActivePresentation();
  const name = presentation.getName();
  const id = presentation.getId();
  const pageWidth = presentation.getPageWidth();
  const pageHeight = presentation.getPageHeight();

  Logger.log('Имя презентации: ' + name);
  Logger.log('ID презентации: ' + id);
  Logger.log('Ширина страницы: ' + pageWidth);
  Logger.log('Высота страницы: ' + pageHeight);
}

Работа со слайдами: добавление, удаление, изменение порядка

Apps Script позволяет добавлять, удалять и изменять порядок слайдов в презентации. Для этого используются методы объекта Presentation и Slide.

/**
 * Функция для добавления нового слайда.
 */
function addSlide() {
  const presentation = SlidesApp.getActivePresentation();
  presentation.appendSlide(SlidesApp.PredefinedLayout.BLANK);
}

/**
 * Функция для удаления слайда.
 * @param {number} slideIndex Индекс слайда для удаления (начинается с 1).
 */
function deleteSlide(slideIndex: number) {
  const presentation = SlidesApp.getActivePresentation();
  const slides = presentation.getSlides();
  if (slideIndex > 0 && slideIndex <= slides.length) {
    slides[slideIndex - 1].remove();
  }
}

/**
 * Функция для изменения порядка слайдов.
 * @param {number} slideIndex Индекс слайда для перемещения (начинается с 1).
 * @param {number} newIndex Новый индекс слайда (начинается с 1).
 */
function moveSlide(slideIndex: number, newIndex: number) {
  const presentation = SlidesApp.getActivePresentation();
  presentation.moveSlide(slideIndex, newIndex);
}

Чтение и изменение текста на слайдах

Apps Script позволяет читать и изменять текст на слайдах. Для этого используются методы объектов Page и TextRange.

/**
 * Функция для чтения текста на слайде.
 * @param {number} slideIndex Индекс слайда (начинается с 1).
 * @return {string} Текст на слайде.
 */
function getSlideText(slideIndex: number): string {
  const presentation = SlidesApp.getActivePresentation();
  const slides = presentation.getSlides();
  if (slideIndex > 0 && slideIndex <= slides.length) {
    const slide = slides[slideIndex - 1];
    return slide.getShapes().map(shape => shape.getText().asString()).join('\n');
  }
  return '';
}

/**
 * Функция для изменения текста на слайде.
 * @param {number} slideIndex Индекс слайда (начинается с 1).
 * @param {string} newText Новый текст.
 */
function setSlideText(slideIndex: number, newText: string) {
  const presentation = SlidesApp.getActivePresentation();
  const slides = presentation.getSlides();
  if (slideIndex > 0 && slideIndex <= slides.length) {
    const slide = slides[slideIndex - 1];
    slide.getShapes().forEach(shape => {
      if (shape.hasTextFrame()) {
        shape.getTextFrame().setText(newText);
      }
    });
  }
}
Реклама

Автоматизация задач в Google Slides с помощью Apps Script

Создание презентаций из Google Sheets (автоматическая генерация отчетов)

Apps Script позволяет создавать презентации на основе данных из Google Sheets. Это особенно полезно для автоматической генерации отчетов. Можно читать данные из таблицы и добавлять их на слайды в виде текста, графиков или таблиц.

Автоматическое обновление диаграмм в Google Slides из Google Sheets

Диаграммы в Google Slides можно связать с Google Sheets. Apps Script позволяет автоматически обновлять эти диаграммы при изменении данных в таблице.

Добавление и форматирование изображений на слайдах

С помощью Apps Script можно добавлять изображения на слайды и форматировать их. Можно загружать изображения из Google Drive, URL-адресов или локальных файлов.

Автоматическое создание оглавления на основе заголовков слайдов

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

Продвинутые техники использования Apps Script в Google Slides

Использование триггеров для автоматического запуска скриптов (onOpen, onEdit)

Триггеры позволяют автоматически запускать скрипты при определенных событиях, например, при открытии презентации (onOpen) или при изменении слайда (onEdit).

Создание пользовательских меню в Google Slides

Apps Script позволяет создавать пользовательские меню в интерфейсе Google Slides, что упрощает доступ к часто используемым функциям скриптов.

Работа с внешними API (например, получение данных из других сервисов)

Apps Script позволяет взаимодействовать с внешними API для получения данных из других сервисов. Например, можно получать данные из сервисов контекстной рекламы для создания отчетов о рекламных кампаниях.

Пример: Получение данных из Google Ads API.

/**
 * Функция для получения данных из Google Ads API.
 */
function getGoogleAdsData() {
  // Замените значениями вашей конфигурации.
  const customerId = 'YOUR_CUSTOMER_ID';
  const query = 'SELECT campaign.name, metrics.impressions, metrics.clicks FROM campaign WHERE segments.date DURING LAST_30_DAYS';

  const report = AdsApp.search(customerId, query);

  while (report.hasNext()) {
    const row = report.next();
    Logger.log('Campaign: ' + row.campaign.name + ', Impressions: ' + row.metrics.impressions + ', Clicks: ' + row.metrics.clicks);
  }
}

Публикация презентаций в формате PDF с помощью Apps Script

Apps Script позволяет автоматически публиковать презентации в формате PDF. Это может быть полезно для автоматической рассылки отчетов или создания архивных копий презентаций.

Примеры скриптов для Google Slides и лучшие практики

Пример скрипта: добавление водяного знака на все слайды

/**
 * Функция для добавления водяного знака на все слайды.
 */
function addWatermark() {
  const presentation = SlidesApp.getActivePresentation();
  const slides = presentation.getSlides();
  const watermarkText = 'Watermark';
  const pageWidth = presentation.getPageWidth();
  const pageHeight = presentation.getPageHeight();

  slides.forEach(slide => {
    const textShape = slide.insertShape(SlidesApp.ShapeType.TEXT_BOX, pageWidth / 4, pageHeight / 2, pageWidth / 2, 50);
    textShape.getText().setText(watermarkText);
    textShape.getText().getTextStyle().setFontSize(24);
    textShape.getText().getTextStyle().setForegroundColor('#CCCCCC');
    textShape.getText().getTextStyle().setBold(true);
    textShape.setRotation(30);
  });
}

Пример скрипта: автоматическое создание слайдов с цитатами

/**
 * Функция для автоматического создания слайдов с цитатами.
 * @param {string[][]} quotes Массив цитат (каждая цитата - массив из двух элементов: текст цитаты и автор).
 */
function createQuoteSlides(quotes: string[][]) {
  const presentation = SlidesApp.getActivePresentation();

  quotes.forEach(quote => {
    const slide = presentation.appendSlide(SlidesApp.PredefinedLayout.TITLE_AND_BODY);
    slide.getTitle().setText(quote[0]); // Текст цитаты
    slide.getPlaceholder(SlidesApp.PlaceholderType.BODY).setText('— ' + quote[1]); // Автор цитаты
  });
}

Рекомендации по оптимизации и отладке Apps Script кода

  • Используйте Logger.log() для отладки кода.
  • Разбивайте код на небольшие, переиспользуемые функции.
  • Используйте типизацию (JSDoc) для улучшения читаемости кода и предотвращения ошибок.
  • Оптимизируйте код для уменьшения времени выполнения, особенно при работе с большими презентациями.
  • Используйте try-catch блоки для обработки исключений.

Безопасность Apps Script и разрешения Google

  • Apps Script требует разрешений для доступа к данным Google Workspace. При первом запуске скрипта пользователю будет предложено предоставить необходимые разрешения.
  • Будьте внимательны при предоставлении разрешений и предоставляйте только те разрешения, которые необходимы для работы скрипта.
  • Проверяйте код скриптов, полученных из ненадежных источников, чтобы избежать кражи данных или других вредоносных действий.

Добавить комментарий