谷歌脚本触发器:函数清除脚本问题



我想在谷歌脚本中创建一个触发器,该脚本每周一上午9点运行函数。然而,我的第一行代码清除了谷歌工作表的内容,以便用新信息替换它。现在,当我用第一行代码创建一个函数时,该函数会重复运行,这意味着它总是清除谷歌表单的内容,并给我留下一个空表单(这对我来说是最合理的解释(。根据我对触发器工具的理解,我只能在函数上创建触发器,而不能创建整个代码(这是正确的吗?(-我该如何解决这个问题?

提前谢谢!


var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("A1:Z500");
range.clearContent();

function myFunction() {
var sheet = SpreadsheetApp.getActiveSheet();
var topFolder = DriveApp.getFolderById("FolderID");
var topPath = "";
sheet.appendRow(["Extracted Folder", "Industry", "Client", "Projectname","Folder (empty/not empty)", "Link to Folder", "Date Created", "Owner"])
iterateSubFolders(topFolder, topPath, 3)
}
function iterateSubFolders(callingFolder, callingPath, depth) {
var callingFolderName = callingFolder.getName();
var callingFolderFullPath = callingPath.toString() + callingFolderName.toString() + "/";
addRowToSheetForFolder(callingFolder, callingFolderFullPath);
n=0;
var childSubFolders = callingFolder.getFolders();
while ((childSubFolders.hasNext()) && (n < depth) ) {
var nextSubFolder = childSubFolders.next();
iterateSubFolders(nextSubFolder, callingFolderFullPath, depth - 1);
}
return callingFolderFullPath;
}
function addRowToSheetForFolder(folder, fullFolderPath) {
data = [
fullFolderPath.toString(),
// fullFolderPath.split("/"), Getting weird values when splitted 
"INDUSTRY",
"CLIENT",
"PROJECT",
folder.getSize(),
folder.getUrl(),
folder.getDateCreated(),
"manuell pflegen",
folder.getDescription()
];
var sheet = SpreadsheetApp.getActiveSheet();
sheet.appendRow(data);
}

当我将第一行转换为函数时,代码不再有效,所以我将其排除在之外

这些行位于全局空间中,因此每次调用任何函数时都会调用它们:

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("A1:Z500");
range.clearContent();

最新更新