@nektopme

Гуглтаблицы Как ускорить создание гиперрссылок в диапазоне?

Копирую диапазон в массив.
Прохожу по массиву, нужным значениям, вычисляю адрес и присваиваю ячейке гиперссылу

function cell_Link_Activate(cell) {

  let value = cell.getValue();
  
  cell.setRichTextValue(SpreadsheetApp.newRichTextValue()
    .setText(value)
    .setLinkUrl(value)
    .build());
}


Но медленно.

Как бы убыстрить?
  • Вопрос задан
  • 32 просмотра
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Apps Script
Google Products Expert
Вероятно

/**
 * @param {globalThis.SpreadsheetApp.Range} range
 */
function cell_Link_Activate_(range) {

  const values = range.getValues();
  const rtvsOld = range.getRichTextValues();
  const rtvs = values.map((row, x) => row.map((cell, y) => {
    if (cell !== '') {
      const rtv = SpreadsheetApp.newRichTextValue()
        .setText(cell)
        .setLinkUrl(cell)
        .build();
      return rtv;
    }
    return rtvsOld[x][y];
  }));
  range.setRichTextValues(rtvs);
}


Пример в Таблице
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы