Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //t.me/@google_sheets
- //Скрипт > извлекаем файлы из папки / папок, создаём реестр в Таблице.
- //Попадается изображение – добавляем функцию =IMAGE, которая покажет картинку в Таблице
- function myFunction() {
- //определяем лист в активной книге
- const sh = SpreadsheetApp.getActive().getSheetByName('Лист1');
- //забираем из ячейки B1 ячейку с ссылками / ссылкой на папки
- const urls = sh.getRange("b1").getValue();
- //очищаем на листе диапазон А4:D
- sh.getRange("A4:E").clearContent();
- //делим нашу ячейку с ссылками по "," и получаем несколько ссылок
- //или одну, если она была одна
- urls.split(",").forEach(url => {
- //обходим каждую ссылку в цикле - забираем файлы
- const files = DriveApp.getFolderById(getIdFromUrl(url)).getFiles();
- //задаём пустой массив
- const arr = [];
- while (files.hasNext()) {
- //и наполняем этот массив данными про файлах из папки
- const file = files.next();
- const [type, name, url_file] = [file.getMimeType(), file.getName(), file.getUrl()];
- //название, ссылка на папку, ссылка на файл, тип файла и есть тип фал изображение - создаём функцию =image с id файла
- arr.push([name, url, url_file, type, type == 'image/png' ? `=IMAGE("https://docs.google.com/uc?export=download&id=${file.getId()}")` : ''])
- }
- //вставляем массив на лист;
- sh.getRange(sh.getLastRow() + 1, 1, arr.length, arr[0].length).setValues(arr);
- SpreadsheetApp.flush();
- }
- //переходим к следующей ссылке на папку, если она есть
- )
- }
- //функция - регулярка для извлечения из URL файла / папки ID
- function getIdFromUrl(url) { return url.match(/[-\w]{25,}/); }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement