gpt4 book ai didi

google-apps-script - 使用 myImportRange 自定义电子表格函数 - TypeError : Cannot call method "split" of undefined

转载 作者:行者123 更新时间:2023-12-02 03:55:01 24 4
gpt4 key购买 nike

我正在尝试使用 ahab 的自定义 Google Apps 脚本 myImportRange。我不熟悉编写自定义脚本,但我按照现有帖子中的说明进行操作,并将以下内容复制并粘贴到脚本编辑器中:

// to be used in the spreadsheet like ImportRange, 
// i.e. like this: =myImportRange( "key" ; "sheet!range" ; GoogleClock() )
// the third parameter - GoogleClock() - triggers an automatic update every minute.
// updated 2011-07-17 (ahab): better regex to strip sheetname of *outer* single quotes
function myImportRange(key ,sheetrange) {
var shra = sheetrange.split("!") ;
if (shra.length==1) shra[1]=shra[0], shra[0]="";

var sheetstring = shra[0].replace( /^'(.*)'$/g , "$1") // was: replace( /'/g , "") ; updated 2011-07-17 (ahab)

var rangestring = shra[1]

var source = SpreadsheetApp.openById( key )

if ( sheetstring.length==0 ) sheet = source.getSheets()[0] ;
else sheet = source.getSheetByName( sheetstring ) ;

return sheet.getRange( rangestring ).getValues();
}

我现在收到以下错误:

TypeError: Cannot call method "split" of undefined. (line 6)

如果这是一个重复的问题,我很抱歉,我发现了很多与这个主题相关的话题,不幸的是,如果这种事情是如此基础,我无法弄清楚其他答案与我的脚本有何关系。

如果有任何建议,我将不胜感激!

最佳答案

由于错误不够明确,添加类型检查将改善对用户未提供字符串形式的范围的反馈。

// to be used in the spreadsheet like ImportRange, 
// i.e. like this: =myImportRange( "key" ; "sheet!range" ; GoogleClock() )
// the third parameter - GoogleClock() - triggers an automatic update every minute.
// updated 2011-07-17 (ahab): better regex to strip sheetname of *outer* single quotes
function myImportRange(key ,sheetrange) {
if (typeof(sheetrange) != "string" throw new Error("range must be a string");

var shra = sheetrange.split("!") ;
if (shra.length==1) shra[1]=shra[0], shra[0]="";

var sheetstring = shra[0].replace( /^'(.*)'$/g , "$1") // was: replace( /'/g , "") ; updated 2011-07-17 (ahab)

var rangestring = shra[1]

var source = SpreadsheetApp.openById( key )

if ( sheetstring.length==0 ) sheet = source.getSheets()[0] ;
else sheet = source.getSheetByName( sheetstring ) ;

return sheet.getRange( rangestring ).getValues();
}

关于google-apps-script - 使用 myImportRange 自定义电子表格函数 - TypeError : Cannot call method "split" of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13067811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com