Google apps script 如果从单元格中调用,google电子表格中的单元格着色将失败,但从脚本中调用时效果良好。 我创建了以下简单函数:

Google apps script 如果从单元格中调用,google电子表格中的单元格着色将失败,但从脚本中调用时效果良好。 我创建了以下简单函数:,google-apps-script,google-sheets,custom-function,Google Apps Script,Google Sheets,Custom Function,在电子表格中,我写“=test(row(),column()) 这将导致以下消息出错: 错误:您没有调用setBackground(第3行)的权限 如果我在脚本中创建另一个函数调用,则没有问题,如下所示: function test_the_test(){ test(5,4); } 为什么我不能从电子表格单元格调用测试函数 提前感谢您如中所述,自定义函数返回值,但它们不能在所在单元格之外设置值。在大多数情况下,单元格A1中的自定义函数不能修改单元格A5。当然,对于其他方法(如setBac

在电子表格中,我写“=test(row(),column())

这将导致以下消息出错: 错误:您没有调用setBackground(第3行)的权限

如果我在脚本中创建另一个函数调用,则没有问题,如下所示:

function test_the_test(){
  test(5,4); 
}
为什么我不能从电子表格单元格调用测试函数


提前感谢您

如中所述,自定义函数返回值,但它们不能在所在单元格之外设置值。在大多数情况下,单元格A1中的自定义函数不能修改单元格A5。当然,对于其他方法(如setBackground等)也是如此。

不可能调用任何ch从单元格设置内容,但可以从按钮调用内容。

事实上这很简单。你不能改变别人的手机内容,这绝对不是真的

诀窍是不要从单元格调用函数,而是将其装入绘图/图像中。

  • 单击“插入->绘图”
  • 绘制图像并保存它(您应该看到 您在电子表格中的图像)
  • 用鼠标右键点击它-在右上角,有一个 三角形开口选项
  • 单击“分配脚本”并键入脚本的名称 不带括号的脚本(如“test”而不是“test()”)并确认
  • 单击按钮。此时会出现一个弹出窗口,要求获得访问电子表格的权限
  • 确认,如果刷新出现问题,只需手动刷新(F5)
  • 现在,您可以单击该按钮,编辑您喜欢的任何单元格
  • 当安装到按钮上时,此代码工作正常

    function test() {
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      sheet.getRange(3,5).setBackground("red");
    }
    
    function test() {
      var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      sheet.getRange(3,5).setBackground("red");
    }