我正在尝试制作模板文件的副本,并与所有员工分享。
我创建了一张Google表格,其中列出了员工的姓名,他们的电子邮件地址,经理的电子邮件地址以及他/她所在的公司。
我写了以下脚本:
function CopyAndShare (Template, Name, Email, ManagerEmail, Company) {
var CompanyFolder = DriveApp.searchFolders("title = '" + Company + "'").next();
Template.makeCopy("Vacationdays 2015 " + Name, CompanyFolder)
// .addEditor(Email)
// .addViewer(ManagerEmail);
Logger.log("Copy created for: %s.", Name);
}
function DistributeFiles() {
var BaseFile = DriveApp.getFileById("1KBCFA21HbGZRCQXAtghatd8BfpR1PN2N_3L7rYxj1PU");
var Employees = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getDataRange().getValues();
for (var i = 1, l = Employees.length; i < l; i++) { // i = 1 to skip header
CopyAndShare(BaseFile, Employees[i][0], Employees[i][1], Employees[i][2], Employees[i][3]);
}
}
作为测试,我使用addEditor运行此脚本并禁用addViewer功能调用。在120个左右的副本(运行6分钟)之后,脚本停止说超出运行时配额。
我有点惊讶创造了120份副本花了6分钟。我想制作约250份,所以我就在那里。
我可以做些什么来加速我的脚本,所以我不会在6分钟的限制内运行。
我在Google Apps for Work域中执行此操作。
答案 0 :(得分:1)
Bruce Mcpherson在Google Apps脚本中编写了一个并行处理工具。它的目的是让你大约6分钟的限制。
http://ramblings.mcpher.com/Home/excelquirks/htmlservice/parallel http://ramblings.mcpher.com/Home/excelquirks/htmlservice/parallel/implement