在自定义函数

时间:2016-09-26 18:10:13

标签: google-apps-script

大家好 我试图在自定义函数中使用“Importrange”函数(如下所示)。

function csvLinks(sheetName,range) 
{

    var link1 ="\"https://docs.google.com/spreadsheets/d/1Gnqa4WOC7mRX2meqwrUCrh9dcS94mI0G-abc123\"";

    var link2 = "\""+sheetName+"!"+range+"\"";

    var ss = SpreadsheetApp.getActiveSpreadsheet();

    var sheet = ss.getSheets()[0];

    var cell = sheet.getRange("A1");

    return cell.setFormula("=IMPORTRANGE(link1,link2)");
}

但是,当我尝试使用此功能时,我会收到以下错误消息。

  

单元格A1错误=您无权调用setFormula(行   7)。

     

单元格A2错误=未知范围名称:'LINK1'

1 个答案:

答案 0 :(得分:0)

基于此thread

  

[Source.] 自定义函数返回值,但它们无法在它们所在的单元格之外设置值。在大多数情况下,单元格A1中的自定义函数无法修改单元格A5。但是,如果自定义函数返回一个double数组,结果将溢出包含该函数的单元格,并填充包含自定义函数的单元格下方和右侧的单元格。您可以使用包含return [[1,2],[3,4]];。

的自定义函数对此进行测试

您的错误可能意味着simple triggers无法执行任何需要授权但可安装的操作。从这个forum开始,它声明自定义函数只能修改调用它们的单元格,它们不能修改任意单元格。

您还可以查看这些相关主题: