通过Google Apps脚本中的Google文档中的自定义菜单更改活动单元格中的背景颜色

时间:2019-07-11 18:25:24

标签: google-apps-script

我在Google文档中有一个表格(没有工作表)。我创建了一个自定义菜单,它将有一个选项列表。目的是当用户选择其中一个选项时,它将更改活动单元格的背景颜色(由光标所在的位置确定)。我尝试了下面的代码,它没有错误地运行,但是它不会更改背景色。有任何想法吗?谢谢!

function onOpen() {

      var ui = DocumentApp.getUi();

      ui.createMenu('Change Colors')
      .addItem('Low', 'LowFunction')
      .addToUi();
    }

    function LowFunction() {
      DocumentApp.getUi()
      var document = DocumentApp.getActiveDocument();

      var SelectedCell = document.getCursor().getElement();
      var range = SelectedCell.setBackgroundColor('#ffffff');
    }

有关其他信息,请添加以下代码行:

var SelectedCell = document.getTables()[1].getCell(1,0).setBackgroundColor('#000000');

它将更改特定单元格的背景颜色...但是我只需要此代码即可更改当前所选单元格的颜色。

1 个答案:

答案 0 :(得分:2)

  • 您要在光标位置停留在单元格中时更改单元格的背景颜色。
  • 您想使用Google Apps脚本实现这一目标。

如果我的理解是正确的,那么该修改如何?

修改点:

  • 为了检查光标位置是否在单元格中,它检查document.getCursor().getElement()的父级。因为当光标停留在单元格中时元素类型是一个段落。

修改后的脚本:

function LowFunction() {
  var document = DocumentApp.getActiveDocument();
  var cursor = document.getCursor().getElement();
  var SelectedCell = cursor.getParent();
  if (SelectedCell.getType() == DocumentApp.ElementType.TABLE_CELL) {
    SelectedCell.asTableCell().setBackgroundColor("#808080");
  }
}
  • 在此脚本中,单元格的背景色更改为灰色。

参考文献:

如果我误解了您的问题,而这不是您想要的结果,我深表歉意。