我正在将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

09-25 15:40