Email Google应用程序脚本在excel中使用错误的日期格式
因此,我正在编写一个谷歌应用程序脚本,从谷歌工作表文件中提取电子邮件地址、主题和正文。此信息用于发送电子邮件。现在,在Google Sheets文件的主题栏中,我有=TODAY(),这样就可以提取日期。我的脚本每天更新此列,因此日期始终为当前日期 问题在于,当电子邮件发出时,主题行会显示出来 “2018年8月11日星期六00:00:00 GMT-0700(PDT)” 而不是 2018年11月8日,喜欢谷歌表单中的设置 不知道为什么会这样,我的代码如下Email Google应用程序脚本在excel中使用错误的日期格式,email,line,subject,Email,Line,Subject,因此,我正在编写一个谷歌应用程序脚本,从谷歌工作表文件中提取电子邮件地址、主题和正文。此信息用于发送电子邮件。现在,在Google Sheets文件的主题栏中,我有=TODAY(),这样就可以提取日期。我的脚本每天更新此列,因此日期始终为当前日期 问题在于,当电子邮件发出时,主题行会显示出来 “2018年8月11日星期六00:00:00 GMT-0700(PDT)” 而不是 2018年11月8日,喜欢谷歌表单中的设置 不知道为什么会这样,我的代码如下 /** *创建两个时间驱动触发器。 */
/**
*创建两个时间驱动触发器。
*/
函数createTimeDrivenTriggers(){
//每6小时触发一次。
ScriptApp.newTrigger('adddate'))
.基于时间的()
.atHour(21)
.每天(1)
.inTimezone(“美国/洛杉矶”)
.create()
ScriptApp.newTrigger('sendmails2'))
.基于时间的()
.atHour(22)
.每天(1)
.inTimezone(“美国/洛杉矶”)
.create()
}
/**
*这是我确定床单上有今天日期的老套方法。
*/
函数adddate(){
var sheet=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var单元=sheet.getRange(2,2);
cell.setValue('=TODAY()');
}
//此常量写在C列中,用于接收电子邮件的行
//已成功发送。
var EMAIL_SENT='已成功发送';
/**
*发送包含当前电子表格数据的非重复电子邮件。
*/
函数sendmails2(){
var sheet=SpreadsheetApp.getActiveSheet();
var startRow=2;//要处理的第一行数据
var numRows=2;//要处理的行数
//获取单元格A2:B3的范围
var dataRange=sheet.getRange(startRow,1,numRows,3);
//获取范围中每行的值。
var data=dataRange.getValues();
对于(变量i=0;i }
您遇到的问题是,您的单元格格式为日期,而您将其作为需要字符串的参数传递。在这一点上,你不再控制转换,你得到的比你想要的更多。有两种方法可以解决这个问题。
1) 首先,让它成为一根线,用
cell.setValue('=text(TODAY(),"mm/dd/yy"');
这可能会破坏你一开始对它所做的任何数据处理(尽管我看不到,所以可能没问题)
所以最好是(不是1,只是这个)
2) 是在保留基础日期的同时获取显示的字符串,就像在var subject=row[1]中一样代码>
2) 使用设置图纸的日期格式具有额外的好处