通过功能拆分的Google文档脚本问题

时间:2013-11-01 16:18:51

标签: google-apps-script google-sheets

这是Google Script相关服务的第一次海报,希望我把它放在正确的位置!我遇到了一个错误,我似乎无法找到正确的术语来查找解决方案。以下是功能。在其中我有一个变量,string1,我应用拆分。如果我硬编码字符串的值(在字符串中注释掉的行中),那么它可以工作,我收到正确的输出。另一方面,如果我尝试将该字符串传递给另一个函数的函数,我收到以下错误:

“TypeError:无法在对象中找到功能拆分2013年10月30日09:00:26 GMT-0400(EDT),danno,ticket,netid,request,mac,Error - 找不到无效的Mac / Mac。”

注意:我对该函数的调用如下所示:formatEmailRow(completeEmailArray [i])

function formatEmailRow(rowToFormat) {
  var formattedString = "";
  var array1 = [];
  var string1 = "";
  ///////////////////////
  string1 = rowToFormat;
  //string1 ="10/30/2013 9:00:26,danno,ticket,netid,request,mac,Error  - Invalid Mac / Mac Not Found ";
  ///////////////////////
  array1 = string1.split(",| ,|, ");
  if (array1 != ""){
  for (var i = 0; i < array1.length; i++) {
  formattedString = formattedString + "     " +(array1[i]);
  }}
  return formattedString;
  }

请帮忙! 提前谢谢,任何建议表示赞赏!

-Danno

1 个答案:

答案 0 :(得分:0)

您收到该错误是因为.split()不是您传入的对象类型中包含的方法。由于您是新手,因此暂停阅读对象和方法 - this is a quick overview

你想收到一个字符串,但似乎你不是。问题在于调用formatEmailRow()的代码。

我的猜测是你正在传递一个数组 - 可能是连续的所有单元格 - 但这是你可以检查的方式。

将此行添加为函数的第一行:

Logger.log("rowToFormat = " + JSON.stringify(rowToFormat));

...然后运行,出现错误。检查日志 - 您希望看到您收到一个简单的字符串。如果您正在获取阵列,那么您就知道需要修复的内容。 (也许你想要得到阵列!)