Creative task

Code without my changes

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());
}

Code with my changes

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());
}

Instructions on how to use

  1. Step — you need to select the site for which you want to make a QR code
  2. Step — follow this link (https://docs.google.com/spreadsheets/d/1xyYZ8GBOnjOVdlXXeYgCT-ASn6fbfYIB4jOj06C69Ac/edit?usp=sharing)
  3. Step — To use, you need to click on the QR code button

4. Step – Click on the inscription “Create QR code” and after that a window will appear where you need to insert the link from Step number 1

5. Step – After entering the URL link and clicking “OK” – a window will appear where you can enter your email, to which an automatic letter with your QR code will be sent

After completing all the steps, your QR code will appear in the Table and you will also receive a letter by email

Example of a letter from mail:

Congratulations, you have completed all the steps.