Автоматический импорт изображения на листе?

#image #google-apps-script #file-upload

#изображение #google-apps-script #загрузка файла

Вопрос:

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

Тестовая страница

Я использую формулу для создания ссылки на страницу с изображением игрока на ESPN.

https://a.espncdn.com/combiner/i?img=/i/headshots/mlb/players/full/33859.png

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

=image («Link») — это формула, но я не могу использовать местоположение ячейки в качестве ссылки.

Любые советы или рекомендации будут полезны и оценены

Ответ №1:

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

Вот сценарий, который я сделал с комментариями:

 function SpecialOnEdit(e) {
  //Get the edited cell
  var range = e.range;
  //Get the active sheet
  var sheet = SpreadsheetApp.getActiveSheet();
  //Download the image. (e.value is the URL in Google sheet)
  var response = UrlFetchApp.fetch(e.value);
  //Get the binary data of the image and create a blob object
  var binaryData = response.getContent();
  var blob = Utilities.newBlob(binaryData, 'image/png', 'MyImageName');
  
  //Insert the image into the same row that the user place the image URL link
  var image = sheet.insertImage(blob, range.getHeight(), range.getRow());
  //Set the height of the row, show that the image can fit the row
  sheet.setRowHeight(range.getRow(), image.getHeight()   10);
}
 

Вы должны добавить триггеры следующим после вставки скрипта. Перейдите в редактор сценариев и нажмите Редактировать-> Триггеры текущего проекта-> Добавить триггер -> в разделе Выбор типа события выберите редактировать-> нажмите Сохранить

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

Вот пример вывода скрипта и триггера:

введите описание изображения здесь