如何解决电子表格:“您无权调用setNumberFormat”
我在Google电子表格上运行了以下脚本:
function FORMATCURRENCY(value,currency) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("D19");
range.setNumberFormat("$#,##0.00;$(#,##0.00)");
return range
}
但是,当我运行它时,我收到一条错误消息:“您无权运行setNumberFormat”。
我已经研究了this function here的文档,并按照所有说明进行了操作,包括在脚本区域中的作用域属性上添加了授权依赖项,但是仍然遇到相同的错误。
我的清单文件在脚本中看起来像这样:
{
"timeZone": "Europe/London","dependencies": {
},"exceptionLogging": "STACKDRIVER","runtimeVersion": "V8","oauthScopes": [
"https://www.googleapis.com/auth/spreadsheets","https://www.googleapis.com/auth/spreadsheets.currentonly","https://www.googleapis.com/auth/spreadsheets.readonly","https://www.googleapis.com/auth/userinfo.email"
]
}
这是什么问题?
解决方法
自定义功能不能与需要授权的服务一起使用。
在您的情况下,Set
的所有setNumberFormat
方法都属于此类别:
有关自定义功能,请参见official documentation:
如果您的自定义函数抛出错误消息,您没有 允许调用X服务。该服务需要用户授权 因此无法在自定义函数中使用。
要使用除上面列出的服务以外的其他服务,请创建一个自定义菜单 运行Apps脚本功能而不是编写自定义 功能。从菜单触发的功能将询问用户 必要时进行授权,因此可以使用所有应用 脚本服务。
或者,您可以从脚本编辑器中运行该函数,但请记住,您需要传递参数才能执行它或在函数中定义它们。
在这种情况下,由于您没有在value
函数中使用currency
和FORMATCURRENCY
,因此可以直接从脚本编辑器或从表单中的自定义菜单,但不是公式:
function FORMATCURRENCY() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("D19");
range.setNumberFormat("$#,##0.00;$(#,##0.00)");
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。