Творческое задание

Код без моих изменений

function onOpen() {
  var ui = SpreadsheetApp.getUi(); // Получаем интерфейс для добавления меню
  ui.createMenu('QR Код') // Создаем меню с названием 'QR Код'
    .addItem('Создать QR Код', 'showPrompt') // Добавляем пункт меню
    .addToUi(); // Добавляем меню в интерфейс
}

function generateQRCode(url) {
  var baseUrl = 'https://api.qrserver.com/v1/create-qr-code/';
  var qrCodeUrl = baseUrl + '?data=' + encodeURIComponent(url) + '&size=150x150';

  // Получаем активный лист в Google Таблице
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  // Находим первую пустую строку в первой колонке (с учетом отступов)
  var lastRow = sheet.getLastRow(); // Последняя занятая строка
  var nextRow = lastRow + 1; // Следующая пустая строка для ссылки

  // Создаем QR-код с помощью API
  var img = UrlFetchApp.fetch(qrCodeUrl).getBlob().setName("QRCode.png");

  // Вставляем ссылку в таблицу в первую колонку
  sheet.getRange(nextRow, 1).setValue(url); // Вставляем ссылку в первую колонку

  // Вставляем изображение QR-кода в колонку справа от ссылки
  sheet.insertImage(img, 2, nextRow); // Вставляем QR-код в колонку 2 (справа от ссылки)
}

function showPrompt() {
  var ui = SpreadsheetApp.getUi(); // Интерфейс для диалоговых окон

  // Запрашиваем у пользователя URL для генерации QR-кода
  var urlResult = ui.prompt('Введите URL для генерации QR-кода:');
  
  // Проверяем, нажал ли пользователь "OK" и ввел ли URL
  if (urlResult.getSelectedButton() != ui.Button.OK || !urlResult.getResponseText()) {
    ui.alert('Пожалуйста, введите правильную ссылку.'); // Выводим предупреждение
    return;
  }
  
  // Вызываем функцию генерации QR-кода
  generateQRCode(urlResult.getResponseText());
}

Код с моими изменениями

function onOpen() {
  var ui = SpreadsheetApp.getUi(); // Получаем интерфейс для добавления меню
  ui.createMenu('QR Код') // Создаем меню с названием 'QR Код'
    .addItem('Создать QR Код', 'showPrompt') // Добавляем пункт меню
    .addToUi(); // Добавляем меню в интерфейс
}

function generateQRCode(url, email) {
  var baseUrl = 'https://api.qrserver.com/v1/create-qr-code/';
  var qrCodeUrl = baseUrl + '?data=' + encodeURIComponent(url) + '&size=150x150';

  // Получаем активный лист в Google Таблице
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  // Находим первую пустую строку в первой колонке (с учетом отступов)
  var lastRow = sheet.getLastRow(); // Последняя занятая строка
  var nextRow = lastRow + 1; // Следующая пустая строка для ссылки

  // Создаем QR-код с помощью API
  var img = UrlFetchApp.fetch(qrCodeUrl).getBlob().setName("QRCode.png");

  // Вставляем ссылку в таблицу в первую колонку
  sheet.getRange(nextRow, 1).setValue(url); // Вставляем ссылку в первую колонку

  // Вставляем изображение QR-кода в колонку справа от ссылки
  sheet.insertImage(img, 2, nextRow); // Вставляем QR-код в колонку 2 (справа от ссылки)

  // Если указан email, отправляем QR-код на почту
  if (email) {
    MailApp.sendEmail({
      to: email, // Получатель
      subject: 'Ваш QR-код', // Тема письма
      body: 'Здравствуйте! Ваш QR-код для ссылки: ' + url, // Текст письма
      attachments: [img] // Прикрепляем QR-код к письму
    });
  }
}

function showPrompt() {
  var ui = SpreadsheetApp.getUi(); // Интерфейс для диалоговых окон

  // Запрашиваем у пользователя URL для генерации QR-кода
  var urlResult = ui.prompt('Введите URL для генерации QR-кода:');
  
  // Проверяем, нажал ли пользователь "OK" и ввел ли URL
  if (urlResult.getSelectedButton() != ui.Button.OK || !urlResult.getResponseText()) {
    ui.alert('Пожалуйста, введите правильную ссылку.'); // Выводим предупреждение
    return;
  }
  
  // Запрашиваем email для отправки QR-кода
  var emailResult = ui.prompt('Введите email для отправки QR-кода:');

  // Проверяем, нажал ли пользователь "OK" и ввел ли email
  if (emailResult.getSelectedButton() != ui.Button.OK || !emailResult.getResponseText()) {
    ui.alert('Пожалуйста, введите корректный email.'); // Выводим предупреждение
    return;
  }
  
  // Вызываем функцию генерации QR-кода и отправки на email
  generateQRCode(urlResult.getResponseText(), emailResult.getResponseText());
}

Инструкция как пользоваться

  1. Шаг — надо выбрать сайт для которого нужно сделать QR код
  2. Шаг — переходим по этой ссылке (https://docs.google.com/spreadsheets/d/1xyYZ8GBOnjOVdlXXeYgCT-ASn6fbfYIB4jOj06C69Ac/edit?usp=sharing)
  3. Шаг — Для использования надо нажать на кнопку QR код

4. Шаг — Нажать на надпись «Создать QR код» и после этого появится окно куда надо вставить ссылку из Шага номер 1

5. Шаг — После ввода URL ссылки и Нажатия на «ОК» — появится окно куда можно ввести вашу почту, на которую отправится автоматическое письмо с вашим QR кодом

После проделанных всех шагов — ваш QR код появится в Таблице и так же получите письмо на почту

Пример письма с почты:

Поздравляем, вы проделали все шаги