标签: custom-function

Google Apps脚本错误:“您无权呼叫保护”

我正在尝试我的第一个Google Sheets Apps脚本。我试图做一个自定义函数(通过绑定脚本),将检查它所在的单元格是否受到保护。如果受保护,则应将单元格的值更改为(至少现在)保护类型。

我可以在文档中成功运行简单的演示脚本:

function DOUBLE(input) {
  return input * 2;
}
Run Code Online (Sandbox Code Playgroud)

但是当调用Range :: protect时,我会报错

"You do not have permission to call protect"
Run Code Online (Sandbox Code Playgroud)

这是功能

function isProtected() {
 var range = SpreadsheetApp.getActiveRange();
 var protection = range.protect();
 return protection.getProtectionType();
}
Run Code Online (Sandbox Code Playgroud)

其他一些功能(例如)也会出现相同的权限错误Session.getEffectiveUser()。我认为,由于这是一个绑定的自定义函数,而且我是(唯一的)工作表所有者,因此可以调用这些方法。我想念什么?谢谢。

我曾尝试将脚本复制粘贴到新工作表的脚本编辑器中,因为有些帖子对此很幸运,但对我来说却很不幸。

google-sheets google-apps-script custom-function

1
推荐指数
1
解决办法
2177
查看次数

谷歌应用程序脚本:来自单元格本身的 setNote()

我想从一个单元格设置注释——注释应该设置为同一个单元格。

我试过这个功能

function setNote(note){
    var note = note;
    var cell = SpreadsheetApp.getActiveSheet().getActiveCell();

    if(note == ""){
        cell.clearNote();
    }else{
        cell.setNote(note);
    }
}
Run Code Online (Sandbox Code Playgroud)

但出现错误You do not have permission to call setNote (line 8),这很明显,因为我无法编辑任何带有“单元格函数”的单元格(在单元格中输入/键入的函数,而不是 GAS/JavaScript 函数本身)。

有没有办法从单元格本身设置注释(使用“单元格函数”)?

我希望能够从单元格内设置单元格值(我已经可以)注释(我还不能),例如 '=if(d4=4, e4, "") & setNote(b4 )` ......或类似的东西。

google-sheets google-apps-script custom-function

1
推荐指数
1
解决办法
2939
查看次数

如何调用数组内的函数

我将使用带有json_encode的PHP创建一个json文件.我打算在将其更改为json之前包含一个我将在数组内部调用的函数.是否可以在数组内调用函数?

$arrayList = array( 
                array( 
                'uid' => "1234",
                'nilai' => getBoolean (1)));                
function getBoolean ($value) {
    if ($value == 0 ) {
        echo "false";
    } else {
        echo "true";
    }   
}
echo json_encode ($arrayList);
Run Code Online (Sandbox Code Playgroud)

输出json

true[{"uid":"1234","nilai":null}]
Run Code Online (Sandbox Code Playgroud)

如果我想要如下所示的json输出怎么办?

[{"uid":"1234","nilai":true}]
Run Code Online (Sandbox Code Playgroud)

所以函数(getBoolean)的值进入json不在外面.谢谢

php arrays boolean return-type custom-function

0
推荐指数
1
解决办法
159
查看次数

Apps 脚本自定义函数在脚本编辑器中工作,但在 Google Sheet 自定义函数中不起作用

我使用 URLFetchApp 在 Apps 脚本中构建了一个简单的自定义函数来获取 TikTok 帐户的关注者计数。

function tiktok_fans() {
  var raw_data = new RegExp(/("followerCount":)([0-9]+)/g);
  var handle = '@charlidamelio';
  var web_content = UrlFetchApp.fetch('https://www.tiktok.com/'+ handle + '?lang=en').getContentText();
  var match_text = raw_data.exec(web_content);
  var result = (match_text[2]);
  Logger.log(result)
  return result
}
Run Code Online (Sandbox Code Playgroud)

日志会返回正确的关注者数量。

但是,当我将代码更改为;

function tiktok_fans(handle) {
  var raw_data = new RegExp(/("followerCount":)([0-9]+)/g);
  //var handle = '@charlidamelio';
  var web_content = UrlFetchApp.fetch('https://www.tiktok.com/'+ handle + '?lang=en').getContentText();
  var match_text = raw_data.exec(web_content);
  var result = (match_text[2]);
  Logger.log(result)
  return result
}
Run Code Online (Sandbox Code Playgroud)

并在电子表格中使用它,例如=tiktok_fans(A1),其中 A1@charlidamelio#ERROR在单元格中得到响应

类型错误:无法读取 …

google-sheets http-headers google-apps-script custom-function tiktok

0
推荐指数
1
解决办法
409
查看次数