У меня есть таблица, которая является шаблоном.У меня есть кнопка отправки, которая сохраняет данные в файле (по дате и имени клиента) в папку на Google Диске.
Я хочу отредактировать уже отправленный шаблон, поэтому я создал выпадающее меню, которое извлекает имя файла из папки, используя этот код:
function onOpen() {
list_all_files_inside_one_folder_without_subfolders() }
function list_all_files_inside_one_folder_without_subfolders() {
var sh = SpreadsheetApp.getActiveSheet();
var folder = DriveApp.getFolderById('0B8xnkPYxGFbUMktOWm14TVA3Yjg'); // I change the folder ID here
var list = [];
list.push(['Name']); //,'ID','Size']);
var files = folder.getFiles();
while (files.hasNext()){
file = files.next();
var row = []
row.push(file.getName()) //,file.getId(),file.getSize())
list.push(row);
}
sh.getRange(2,2,list.length,list[0].length).setValues(list);
}
function onEdit(e) {
openFile() }
function openFile(e) {
var sheet = "Sheet1"; // Please set the sheet with the dropdown list.
var range = "A1"; // Please set the range of dropdown list.
if (e.source.getSheetName() == sheet && e.range.getA1Notation() == range) {
var file = DriveApp.getFilesByName(e.value);
if (file.hasNext()) {
var f = file.next();
var url = f.getUrl();
var script = "<script>window.open('" + url + "', '_blank').focus();google.script.host.close()</script>";
var html = HtmlService.createHtmlOutput(script);
SpreadsheetApp.getUi().showModalDialog(html, 'Open ' + f.getName());
}
}
}
Затем я создал выпадающий списокиз этих файлов по имени.Я хочу создать сценарий OnEdit, который может открыть файл (выбрав в раскрывающемся меню имя файла).
Есть ли какие-нибудь указатели о том, как это сделать?