我正在将Google脚本编辑器与Google表格和表格关联使用。有一种表单可以记录用户的电子邮件地址并将其存储在工作表中。
我用过了:
var username = sheet.getSheetValues(numRows, 2, 1, 1); //getting username
这将返回一个对象“ [email protected]”,然后我将其发送到名为“ removeEmail”的函数
var newName = removeEmail(username);
...
function removeEmail(input)
{
var name =input;
var stringLength = name.length;
var sub = name.substring(0,stringLength-10);
Logger.log(sub);
//return sub;
}
创建此函数时,我有一个定义的电子邮件可用于测试,该电子邮件位于removeEmails函数中。记录器显示它正在完美删除域名。但是,当我在更大的main函数中实现此功能时,该函数会出错。消息是:
TypeError:在对象[email protected]中找不到函数子字符串。 (第24行,文件“ removeEmail”)
我相信这是因为我的函数removeEmails是用于字符串的,因为它使用了字符串库,但是我从工作表获取数据的方式并未将变量存储为字符串。我试过了
username.toString();
在我致电removeEmails之前,甚至在removeEmails内部,但都无法摆脱此错误。
最佳答案
根据docs,getSheetValues返回二维数组,而不是字符串。尝试获取用户名,如下所示:
var values = sheet.getSheetValues(numRows, 2, 1, 1); //getting username
var username = values[0][0]; // first row, first column since we're requesting just 1 cell