【问题标题】:setValue() or setFormula() with complex formulas/"You do not have permission to call setFormula"带有复杂公式的 setValue() 或 setFormula()/“您无权调用 setFormula”
【发布时间】:2020-02-13 18:46:22
【问题描述】:

因此,当我尝试在 google 脚本中运行我的代码时,我的电子表格中不断收到此错误消息:

您没有调用 setFormula 的权限。

我尝试了 setValue() 和 setFormula() 并且错误是相同的。我在某处看到 setFormula() 仅适用于简单公式(例如 A2*B2/C2)。

这是一个简单的函数,用于将超链接连接到所选单元格的内容并形成超链接sintax。

function HIPERLINK() {
      var ws = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      var cell = ws.getActiveCell();
      var auto = cell.getValue();
      var link = '=HIPERLINK("https://projudi.tjpr.jus.br/projudi/processo/buscaProcesso.do?actionType=pesquisaSimples&-H&Host:&projudi.tjpr.jus.br&-H&User-Agent:&Mozilla/5.0&(Windows&NT&6.3;&WOW64;&rv:49.0)&Gecko/20100101&Firefox/49.0&-H&Accept:&text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8&-H&Accept-Language:&pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3&--compressed&-H&Referer:&https://projudi.tjpr.jus.br/projudi/processo/buscaProcesso.do?actionType=iniciarSimples&-H&Cookie:&projudiContCookie=0;&JSESSIONID=053165f8dd5f8532c326f3eb06d7;&projudi-route=4;&dtLatC=54;&dtPC=-;&dtCookie=49542FA50EF89B032E8685F08394F120|UHJvanVkaSstK0V4dGVybm98MQ&-H&Connection:&keep-alive&-H&Upgrade-Insecure-Requests:&1&--data&page=1&flagNumeroUnico=true&flagNumeroFisicoAntigo=false&numeroProcesso='
        +auto+'";"'+auto+'")';
      cell.setFormula(link);
 }

如果有人知道没有错误消息的方法,谢谢。

【问题讨论】:

  • 请问HIPERLINK()的函数的运行方法?
  • IIRC,我不认为HIPERLINK 是超链接的正确拼写。
  • @Edric 我的 gs 帐户是用葡萄牙语设置的。如果我放置超链接,它会自动更改为 Hiperlink。
  • @Tanaike 它作为单元格中的命名超链接返回(url,[link_label])。它与 hyperlink() 相同,但在葡萄牙语中。
  • 感谢您的回复。很高兴您的问题得到解决。

标签: javascript google-apps-script google-sheets google-sheets-formula google-sheets-custom-function


【解决方案1】:

我试过这种方式,它对我有用,没有问题:

function setCustomLink(){
  var ss = SpreadsheetApp.getActive().getActiveSheet();
  var cell = ss.getActiveCell();
  var cellValue = cell.getValue();
  cell.setValue("https://projudi.tjpr.jus.br/projudi/processo/buscaProcesso.do?actionType=pesquisaSimples&-H&Host:&projudi.tjpr.jus.br&-H&User-Agent:&Mozilla/5.0&(Windows&NT&6.3;&WOW64;&rv:49.0)&Gecko/20100101&Firefox/49.0&-H&Accept:&text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8&-H&Accept-Language:&pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3&--compressed&-H&Referer:&https://projudi.tjpr.jus.br/projudi/processo/buscaProcesso.do?actionType=iniciarSimples&-H&Cookie:&projudiContCookie=0;&JSESSIONID=053165f8dd5f8532c326f3eb06d7;&projudi-route=4;&dtLatC=54;&dtPC=-;&dtCookie=49542FA50EF89B032E8685F08394F120|UHJvanVkaSstK0V4dGVybm98MQ&-H&Connection:&keep-alive&-H&Upgrade-Insecure-Requests:&1&--data&page=1&flagNumeroUnico=true&flagNumeroFisicoAntigo=false&numeroProcesso=" + cellValue + ";" + cellValue);
}

如果你得到不同的结果,请告诉我。

提示: 您可以创建一个按钮并为其分配 setCustomLink 函数,当您需要重新格式化时,只需单击该按钮。

这里是如何完成此操作的链接:Clickable images and drawings in Google Sheets

【讨论】:

  • 是的,它确实有效!谢谢!我只需要更改值,以便它可以读取为单元格上的公式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-29
  • 1970-01-01
相关资源
最近更新 更多