微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

脚本将电子邮件作为数字而不是字符串读取

如何解决脚本将电子邮件作为数字而不是字符串读取

我正在尝试遵循本指南(以前从未编程过):

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();

参考:

Class Range | getValues()

JavaScript Arrays

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。