谷歌应用程序脚本:内置的电子表格函数在脚本中失败 - 语法错误?

时间:2012-07-17 01:01:04

标签: google-apps-script

我正在学习GAS,并希望在我的脚本中使用电子表格功能。作为一个测试,我做了一个简单的案例,但在保存时它抛出“引用错误:'左'未定义。”我查看了代码示例,看不到替代语法。

function testLeft(){
  return LEFT("abcdef",3); 
}

第二个简单测试,结果相同

function testNow(){
return Now()
}

有什么建议吗?我的猜测是,脚本中有一种特殊的语法用于使用内置的电子表格功能。或者也许并非所有可直接在电子表格中使用的功能都可以在GAS中使用?

感谢。

3 个答案:

答案 0 :(得分:0)

不幸的是,Google Apps脚本中没有电子表格功能。在这种情况下,您可以使用JavaScript的substring()方法来获取所需字符串的一部分。

答案 1 :(得分:0)

这是我尝试模拟mid函数

function fMid(varInStr, intPlace) {
//GAS does not have a Mid Function so I have made this one for now
//varInStr is the input string and you want a character returned from it at a given position
//intPlace is the position of the character you want
//Example
//=fMid("123456789", 9) returns "9"

var P
var N

P = intPlace -1
N = intPlace

return varInStr.substring(P,N)
};

答案 2 :(得分:0)

我来自VBA背景,我找到了这个网站

http://excelramblings.blogspot.co.uk/2012/05/google-apps-script-equivalents-for.html

由Bruce Mcpherson提供非常有用的许多现成功能,用于复制和粘贴到您的Google App脚本中,尤其是当您从Excel电子表格转换为Google电子表格时。

左翼的布鲁斯代码:

function Left(str,optLen) {
  return Mid( str, 1 , optLen);
}

要使用上述LEFT功能,您还需要Bruces Mid功能:

function Mid (str,optStart,optLen) {
  var start = IsMissing (optStart) ? 0 : optStart - 1;
  var length = IsMissing (optLen) ?  Len(str) - start + 1 : optLen ;
  DebugAssert( str.slice, str + ' is not a valid string for Mid function');
  return  str.slice ( start, start + length);