【发布时间】:2026-02-15 19:00:02
【问题描述】:
我有这个脚本可以将我的电子表格保存在 Google Drive Squads 文件夹中..
保存文件的名称是根据Gerais页面的单元格H2中的值,有时名称会重复,保存时会创建一个新文件而不是订阅现有文件,我想在这段代码中添加一个选项,如果一个与这个新文件同名的文件已经存在,而不是在 Google Drive Squads 文件夹中有两个同名文件,旧文件将完全消失,并且只有使新文件可用
//Create PDF
SpreadsheetApp.flush();
var theurl = 'https://docs.google.com/a/mydomain.org/spreadsheets/d/' + // Best to place the line break after '+'
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + // SHEET ID
'/export?format=pdf' +
'&size=0' +
'&portrait=true' +
'&fitw=true' +
'&top_margin=0' +
'&bottom_margin=0' +
'&left_margin=0' +
'&right_margin=0' +
'&sheetnames=false&printtitle=false' +
'&pagenum=false' +
'&gridlines=false' +
'&fzr=FALSE' +
'&gid=' +
'XXXXXXXXXXXX'; //SHEET PAGE ID
var token = ScriptApp.getOAuthToken();
var docurl = UrlFetchApp.fetch(theurl, { headers: { 'Authorization': 'Bearer ' + token } });
var pdfBlob = docurl.getBlob();
// Get filename from sheet "Gerais", cell "H2"
var fileName = spreadsheet.getSheetByName("Gerais").getRange("H2").getValue();
// Create file from blob and name it
// The newFile is placed in the root folder by default
var newFile = DriveApp.createFile(pdfBlob).setName(fileName);
// if folder exists use next
if (DriveApp.getFoldersByName("Squads").hasNext()){
var folder = DriveApp.getFoldersByName("Squads").next();
// if folder does not exist
} else {
var folder = DriveApp.createFolder("Squads");// new folder created in the root folder by default
}
folder.addFile(newFile); // add new file to folder
DriveApp.removeFile(newFile); // remove file from root folder
我也尝试在 IF 和 ELSE 之间创建交互,以使文件名与我为文件夹名匹配的相同,但我尝试失败
【问题讨论】:
标签: pdf google-apps-script google-sheets google-drive-api