如何制作Google表格自定义公式,使当前单元格具有输入单元格的颜色?

时间:2019-08-10 10:51:23

标签: google-apps-script

我正在尝试创建一个公式,使当前单元格具有输入单元格的颜色。

这是我尝试过的:

function getCellColor(input) {
return input.getBackground();
}

我知道返回该值将不起作用,即使返回该值也只会返回实际值,而不执行setBackground方法,但我真的迷失了这一点,不知道如何进行。

输入被解析为值而不是“单元格”对象,但我不知道这样做的正确方法。

1 个答案:

答案 0 :(得分:1)

如用户所述,自定义函数具有局限性,其中包括电子表格[1]中的设置方法。您可以轻松创建一个菜单,该菜单将运行特定功能,您可以在其中使用所有Apps Script方法。

这是一段代码,它将创建一个菜单[3],并且单击时,colorCell()函数将从B5单元格中获取背景色并将其设置为活动单元格:

function onOpen() {
  SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
  .createMenu('Actions')
  .addItem('Go to Cell', 'colorCell')
  .addToUi();  
}

function colorCell() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Sheet1"); 
  var cell = SpreadsheetApp.getActiveRange();
  var color = sheet.getRange("B5").getBackgroundColor();

  //Sets color to the cell
  cell.setBackground(color);
}

我留下了SpreadsheetApp文档[2]。

[1] https://developers.google.com/apps-script/guides/sheets/functions#advanced

[2] https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#getactiverange

[3] https://developers.google.com/apps-script/guides/menus