问题描述
我正在尝试遵循本指南(以前从未编程过):
https://www.groovypost.com/howto/google-sheets-send-email-based-on-cell-value/
但它一直给我错误:
异常:参数 (number[],String,String) 与 MailApp.sendEmail 的方法签名不匹配。 sendEmail @ Send Email.gs:8
据我所知,这意味着电子邮件值是一个数字。但我不知道如何解决这个问题。
function sendEmail() {
// Fetch the email address
var emailRange = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Client Input").getRange("D2");
var emailAddress = emailRange.getValues();
// Send Alert Email.
var message = 'Please go to your Issues Tracker for more information'; // Second column
var subject = ' Notification Action required';
MailApp.sendEmail(emailAddress,subject,message);
}
解决方法
由于 emailRange.getValues()
返回一个二维数组,您需要通过其索引来引用实际的字符串值,在这种情况下,[0][0]
作为数组只有一个值。
var emailAddress = emailRange.getValues()[0][0];
或者,如果您打算使用一个且仅一个电子邮件地址,只需使用:
var emailAddress = emailRange.getValue();
参考: