Google apps script 防止创建重复的Google文件夹
下面的两个脚本生成一个新文件夹,其中包含一个基于谷歌表单答案的新文档 需要帮助,如果有人知道如何防止创建重复文件夹Google apps script 防止创建重复的Google文件夹,google-apps-script,google-sheets,google-drive-api,google-docs,google-forms,Google Apps Script,Google Sheets,Google Drive Api,Google Docs,Google Forms,下面的两个脚本生成一个新文件夹,其中包含一个基于谷歌表单答案的新文档 需要帮助,如果有人知道如何防止创建重复文件夹 CreateChannelFolder(): 这是表单提交时的第一个触发器,并创建一个 在我的例子中,是以“通道名称”命名的,该名称位于 谷歌表单链接到表单 自动填充GoogleDocFromForm(e):' 这是表单提交的第二个触发器,并创建 模板文档,然后填写来自基于谷歌表单的答案 在链接到表单的Google工作表的行上 解决方案: 您可以检查具有该名称的文件夹是否存在,否
CreateChannelFolder(): 这是表单提交时的第一个触发器,并创建一个 在我的例子中,是以“通道名称”命名的,该名称位于 谷歌表单链接到表单 自动填充GoogleDocFromForm(e):' 这是表单提交的第二个触发器,并创建 模板文档,然后填写来自基于谷歌表单的答案 在链接到表单的Google工作表的行上 解决方案: 您可以检查具有该名称的文件夹是否存在,否则不要创建它两次。修改
createChannelFolder()
如下:
function createChannelFolder() {
var ss = SpreadsheetApp.getActive();
var names = ss.getSheetByName("SHEETNAME");
var ChannelName = names.getRange(names.getLastRow(), 2).getValue();
var folders = DriveApp.getFoldersByName(ChannelName);
while (folders.hasNext()) {
folder = folders.next();
if(folder.getName()==ChannelName){
return folder;}
}
var parentFolder=DriveApp.getFolderById("FOLDERID");
return parentFolder.createFolder(ChannelName);
}
可复制示例: 下面的代码段创建并返回一个名为
test
的新文件夹。如果后者已经存在,它不会创建新的,而是返回现有的
function createChannelFolder() {
var ChannelName = "test";
var folders = DriveApp.getFoldersByName(ChannelName);
while (folders.hasNext()) {
folder = folders.next();
if(folder.getName()==ChannelName){
return folder;}
}
var parentFolder=DriveApp.getFolderById("folderID");
return parentFolder.createFolder(ChannelName);
}
限制:
- 如果您有多个同名文件夹(
),则 代码将返回找到的第一个文件夹。为了 要使代码正常工作,您需要删除所有重复的代码 文件夹,反正你不需要,因为这是你想避免的东西ChannelName
function createChannelFolder() {
var ss = SpreadsheetApp.getActive();
var names = ss.getSheetByName("SHEETNAME");
var ChannelName = names.getRange(names.getLastRow(), 2).getValue();
var folders = DriveApp.getFoldersByName(ChannelName);
while (folders.hasNext()) {
folder = folders.next();
if(folder.getName()==ChannelName){
return folder;}
}
var parentFolder=DriveApp.getFolderById("FOLDERID");
return parentFolder.createFolder(ChannelName);
}
function createChannelFolder() {
var ChannelName = "test";
var folders = DriveApp.getFoldersByName(ChannelName);
while (folders.hasNext()) {
folder = folders.next();
if(folder.getName()==ChannelName){
return folder;}
}
var parentFolder=DriveApp.getFolderById("folderID");
return parentFolder.createFolder(ChannelName);
}