我有一个脚本,我试图在谷歌文档中的所有工作表上运行,不知道如何使这项工作。它适用于一张纸,但我有许多纸张都具有需要检查的相同格式。感谢。
这是我尝试应用于所有工作表的脚本。
function sendEmail(email_address, email_subject, email_message) {
MailApp.sendEmail(email_address, email_subject, email_message);
}
function timestamp() {
return new Date()
}
var EMAIL_SENT = "EMAIL_SENT";
function test_sendEmail() {
var sheet = SpreadsheetApp.getActiveSheet();
var cell = sheet.setActiveCell('A2');
var criterion_cutoff = 5;
var i = 0;
var startRow = 2;
var addr;
var subj;
var msg;
var timecheck
do {
addr = cell.offset(i,0).getValue();
subj = cell.offset(i,1).getValue();
msg = cell.offset(i,2).getValue();
criterion = cell.offset(i,3).getValue();
timecheck = cell.offset(i,11).getValue();
if (timecheck > 0) {
if(criterion < criterion_cutoff) {
sendEmail(addr,subj,msg);
Browser.msgBox('Sending email to: ' + addr);
}}
i++;
} while( cell.offset(i, 0).getValue().length > 0 )
sheet.getRange(2, 5).setValue(timestamp());
Browser.msgBox('Done!');
}
答案 0 :(得分:0)
您可以通过进行以下更改来使用要应用脚本的ID数组:
1.改变
function test_sendEmail() {
var sheet = SpreadsheetApp.getActiveSheet();
为:
function test_sendEmail(sheetID) {
var sheet = SpreadsheetApp.openById(sheetID);
2。定义要更改的工作表ID数组:
var idArray = [Spreadsheet1_id, Spreadsheet2_id, ...];
3。创建一个循环遍历数组的所有元素
for(var k in idArray) test_sendEmail(idArray[i]);
如果您不想手动填充idArray,则可以创建一个功能,该功能可以提取Google云端硬盘中所有电子表格的ID。如果这是您想要的,那么请使用以下代码,而不是我在第2点提供的代码行。
var sprArr = DocsList.getFilesByType("spreadsheet");
var idArray;
for(var k in sprArr) idArray.push(sprArr[i].getId());