我正在使用Google表格中的基本电子邮件发送脚本。我想在单击按钮时发送电子邮件提醒,以提醒人们约会的日期和时间以及地点。
除日期外,其他所有内容都以一种令人困惑的长格式显示:
日期和时间单元格中显示的数据是:
2018年8月27日
上午10:30
电子邮件中发送的数据为:
2018年8月27日星期一15:00:00 GMT + 0800(HKT)
1899年12月31日,星期日02:30:00 GMT + 0800(HKT)
我只需要显示表格中写的日期和时间。有办法吗?
另一个问题是,一个人可能有多个约会,我可以将每个唯一电子邮件地址的所有约会日期/时间合并到一个电子邮件中,而不是多个电子邮件中吗?
在下面添加代码:
function sendArticleCountEmails() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName("SSname"));
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getRange("B2:O2");
var data = dataRange.getValues();
for (i in data) {
var rowData = data[i];
var emailAddress = rowData[0]; //email
var recipient = rowData[1]; //name1
var message2 = rowData[2]; //Name2
var message3 = rowData[3]; //type
var message4 = rowData[4]; //Appt Date
var message5 = rowData[5]; //Appt Time
var message6 = rowData[6]; //Appt type
var message7 = rowData[7]; //Notes
var message8 = rowData[8]; //Facility Name
var message9 = rowData[9]; //Facility Address
var message10 = rowData[10]; //City
var message11 = rowData[11]; //Zip
var message12 = rowData[12]; //Phone
var message13 = rowData[13]; //Service
var message = 'Dear ' + recipient + ',\n\n' + 'This is a friendly reminder of your assignment tomorrow with:' + '\n\n' + message2 + ' at ' + message5 + '.'
+ '\n\n' + 'The assignment is located at ' + message8 + ', ' + message9 + ', ' + message10 + ', ' + message11 + '.' + '\n\n'
+ 'This assignment is noted as a ' + message6 + ' ' + message3 + ' ' + message13 + '. ' + message7 + '\n\n';
var subject = 'Reminder: ' + message4 + ' ' + message5 + ' (' + message2 + ')';
MailApp.sendEmail(emailAddress, subject, message);
}
}
我认为问题出在这里,使用var
或rowData
。该行是正确的,只是它没有按Sheets中所示提取数据。
var message4 = rowData[4]; //Appt Date
var message5 = rowData[5]; //Appt Time
DATE单元格中没有时间(2018年8月27日),所以我猜它默认为“ 15:00:00”,并且由于我的数据是由mailparser输入的,所以我没有方法更改数据格式。而是希望我可以使用Google表格中显示的数据并将其显示在Gmail中。
我先感谢您的建议,谢谢!