我正在尝试我的第一个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()。我认为,由于这是一个绑定的自定义函数,而且我是(唯一的)工作表所有者,因此可以调用这些方法。我想念什么?谢谢。
我曾尝试将脚本复制粘贴到新工作表的脚本编辑器中,因为有些帖子对此很幸运,但对我来说却很不幸。
我想从一个单元格设置注释——注释应该设置为同一个单元格。
我试过这个功能
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 )` ......或类似的东西。
我将使用带有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不在外面.谢谢
我使用 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