У меня есть лист с кнопкой:
Эта кнопка запускает этот скрипт:
function exportarPlanilha() {
const exportSheetName = 'Demonstrativo'; // Please set the target sheet name.
// 1. Copy the active Spreadsheet as a tempora Spreadsheet.
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet().copy('tmp');
// 2. Convert the formulas to the texts.
const targetRange = spreadsheet.getSheetByName(exportSheetName).getDataRange();
targetRange.copyTo(targetRange, {contentsOnly:true});
// 3. Delete the sheets except for a sheet you want to export.
spreadsheet.getSheets().forEach(sheet => {
if (exportSheetName != sheet.getName()) spreadsheet.deleteSheet(sheet)
});
// 4. Retrieve the blob from the export URL.
const id = spreadsheet.getId();
const xlsxBlob = UrlFetchApp.fetch(`https://docs.google.com/spreadsheets/export?id=${id}&exportFormat=xlsx`, {headers: {authorization: `Bearer ${ScriptApp.getOAuthToken()}`}}).getBlob();
// 5. Crete the blob as a file.
var folder = DriveApp.getFoldersByName("CLIENT_FOLDER").next();
folder.createFile(xlsxBlob.setName(`${exportSheetName}.xlsx`));
// DriveApp.createFile....
// 6. Delete the temporate Spreadsheet.
DriveApp.getFileById(id).setTrashed(true);
}
Этот скрипт экспортирует лист в папку в моем Google Диске (гипотетически указан в сценарии как "CLIENT_FOLDER"). Тем не менее, он сохраняет файл как «Demonstrativo.xlsx» («exportSheetName»), и мне нужно, чтобы сохранить файл в соответствии с именем, указанным в ячейке B97 (в этом примере это «this_should_be_the_filename», но на самом деле это формула, которая объединяет много переменных в строку). Как я мог это сделать?