【发布时间】:2014-07-27 17:06:36
【问题描述】:
目的:从工作表中提取日期和时间(由填写的谷歌表格创建)并在电子邮件正文中使用它们,以便使用脚本自动设置。 脚本编辑器代码:
function sendEmails() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 16; // First row of data to process
var numRows = 1; // Number of rows to process
for( var j=startRow; j<startRow + numRows; j++)
{
var color = sheet.getRange(j, 10).getBackground();
if("#00ff00"==color)
{
// Fetch the range of cells A2:B3
var row = sheet.getSheetValues(j, 1, 1, 14); //extract j th row till 14/Nth col
var nameStudent = row[0][0] +" "+row[0][1];
var time = row[0][6]+" on ";// +row[0][7]+" at "+row[0][8];
var nameRecipient="Dear "+row[0][9]+",";
var emailRecipient=row[0][13];
var subject= "Date and time "+row[0][5]+" at "+row[0][6];
var message=nameRecipient+sheet.getRange("L11").getValue()+nameStudent+sheet.getRange("M11").getValue()+time+nameStudent+sheet.getRange("N11").getValue();
MailApp.sendEmail(emailRecipient, subject, message);
sheet.getRange(j,10).setBackground("#ff9900");
}
}
}
在输出中(即电子邮件):
日期由填写谷歌表格的人输入。 我正在访问使用表单创建的 google 表格。工作表截图: https://drive.google.com/file/d/0B2hiq6P5ceD-aUZQTDBVUXJYbEk/edit?usp=sharing 单元格(双击时)打开上面链接的屏幕截图中显示的日历。 我使用以下代码(使用 Google Apps 脚本)从工作表中获取一行:
var row = sheet.getSheetValues(j, 1, 1, 14); //extract j th row till 14/Nth col
在调试器中,日期如下所示:
[["Gaaav", "Budapest","de@erta.com", 9823527827, "San Francisco International Airport(SFO)", 41855, 0.5277777777810115,"Si016", "Al02", "Yaar", "pr", "3112", 94984802569, "jklfasj@kljsafkl.com"]]
在上述语句中,数字 41855 是日期。实际上是 8/4/2014 。但我看不懂。我也看不到时间,在上面的调试操作中,时间是 0.5277777777810115。
我附上调试屏幕的截图:
https://drive.google.com/file/d/0B2hiq6P5ceD-aFlDd2g4SlM5MW8/edit?usp=sharing
【问题讨论】:
标签: google-apps-script google-sheets google-forms