Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 谷歌应用程序脚本-如何一个接一个地执行功能?_Google Apps Script_Sequential - Fatal编程技术网

Google apps script 谷歌应用程序脚本-如何一个接一个地执行功能?

Google apps script 谷歌应用程序脚本-如何一个接一个地执行功能?,google-apps-script,sequential,Google Apps Script,Sequential,1)我的目标 我正在尝试编写一个Google应用程序脚本,它一步一步地运行3个函数,每一步后都会有一个小停顿 基本上:1)用特定内容填充单元格2)将单元格中的内容发送到电子邮件地址3)删除单元格中的内容 2)我的挑战 function pastecontent() { // Fetch spreadsheet var sheet = SpreadsheetApp.getActiveSpreadsheet(); // copy paste from first row t

1)我的目标

  • 我正在尝试编写一个Google应用程序脚本,它一步一步地运行3个函数,每一步后都会有一个小停顿
  • 基本上:1)用特定内容填充单元格2)将单元格中的内容发送到电子邮件地址3)删除单元格中的内容
2)我的挑战

function pastecontent() {

  // Fetch spreadsheet 
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  
  // copy paste from first row to all others
  var source = sheet.getRange("D6:F6");
  source.copyTo (sheet.getRange("D7:F22"));  
   
}

function sendEmails() {

   // pause for X seconds  
  Utilities.sleep(3000);
 
  // Fetch spreadsheet 
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
       
  // get the range and values in one step
  var values = sheet.getRange("D7:F22").getValues();
  
  // Send Mail
  var message = values + " https://docs.google.com/spreadsheets/d/[....]"; 
  var emailAddress = "XYZ@gmail.com"; 
  var subject = "Test Mail";
  if (cell != "") {
  MailApp.sendEmail(emailAddress, subject, message);
  }
}

function clearcontent() {

  // pause for X seconds  
  Utilities.sleep(8000);

  // Fetch spreadsheet 
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  
  // clear cells
  sheet.getRange("D7:F22").clearContent();
   
}
  • 谷歌应用程序脚本正在同时运行所有功能
3)我试过什么?

  • SpreadsheetApp.flush();正如建议的那样——但没有成功
4)我的代码

function pastecontent() {

  // Fetch spreadsheet 
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  
  // copy paste from first row to all others
  var source = sheet.getRange("D6:F6");
  source.copyTo (sheet.getRange("D7:F22"));  
   
}

function sendEmails() {

   // pause for X seconds  
  Utilities.sleep(3000);
 
  // Fetch spreadsheet 
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
       
  // get the range and values in one step
  var values = sheet.getRange("D7:F22").getValues();
  
  // Send Mail
  var message = values + " https://docs.google.com/spreadsheets/d/[....]"; 
  var emailAddress = "XYZ@gmail.com"; 
  var subject = "Test Mail";
  if (cell != "") {
  MailApp.sendEmail(emailAddress, subject, message);
  }
}

function clearcontent() {

  // pause for X seconds  
  Utilities.sleep(8000);

  // Fetch spreadsheet 
  var sheet = SpreadsheetApp.getActiveSpreadsheet();
  
  // clear cells
  sheet.getRange("D7:F22").clearContent();
   
}
谢谢你的支持
Joe

调用所有函数的主函数:

function main() {
  pastecontent();
  sendEmails();
  clearcontent();
}
示例日志:

除了电子邮件,我没有对你的代码做任何更改,一切都很顺利

只要确保有一个主函数逐个调用它们就行了

除此之外,我认为你的代码没有任何问题


挑剔:发送电子邮件之前未定义
单元格
变量。声明没有包含在提供的代码中,所以我在我的代码中声明了它。如果您的代码中没有它,您可能需要添加它。

我认为您可以这样组织代码

function mainFunction(){
  pastecontent();
  Utilities.sleep(200);// pause in the loop for 200 milliseconds
  sendEmails();
  Utilities.sleep(200);/
  clearcontent();
}
您似乎没有运行所有其他3个函数的“主”函数。你确定你把它们都放在一起了吗?另外,
不起作用
描述不够。提供更多细节