Изменение цвета фона в активной ячейке через пользовательское меню в Документах Google через скрипт Google Apps - PullRequest
1 голос
/ 11 июля 2019

У меня есть таблица в документе 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 Ответ

2 голосов
/ 12 июля 2019
  • Вы хотите изменить цвет фона ячейки, когда позиция курсора остается в ячейке.
  • Вы хотите добиться этого с помощью скрипта 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");
  }
}
  • В этом сценарии цвет фона ячейки равенизменено на серый цвет.

Ссылки:

Если я неправильно понял ваш вопрос, и это был не тот результат, которого вы хотите, прошу прощения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...