Сценарій для зміни індивідуального кольору тексту в комірці


10

У мене є електронна таблиця Google із сотнями імен працівників для розкладу. Кожна комірка має кілька імен у цій комірці, які виглядають так:

First Last
First Last
First Last

First Last
First Last

Багато імен мають кольоровий колір, а інші залишаються чорним. Я використовую сценарій для видалення зайвих нових рядків, щоб згортати імена до цього (багато з них видаляються за допомогою пошуку / заміни для таких речей, як вихідні дні, в результаті чого порожній новий рядок):

First Last
First Last
First Last
First Last
First Last

Проблема полягає в тому, що при запуску цього скрипту червоні імена змінюють шрифт на чорний. Я не можу знайти спосіб написання циклу for, щоб перетворити ці окремі рядки в клітинку назад у червоний колір. Я або закінчую, що весь текст у комірці має червоний колір, або HTML-код із зазначенням, що він повинен бути червоним.

Будь-які ідеї, як я міг би зробити цю роботу?


2
Часткове форматування вмісту комірок - це нещодавнє доповнення до Google Sheets, і воно насправді не інтегровано з рештою логіки електронних таблиць. Зокрема, формули та сценарії не знають про таке форматування і не в змозі його застосувати. Їх вихід не має з собою такого форматування.

Відповіді:


2

Наразі це лише два види властивостей діапазону для обробки його вмісту: значення та формули. На жаль, зміна вмісту комірок за допомогою них видаляє формат, застосований до частин вмісту.

У такому випадку користувачі можуть звернутись до програми відстеження випуску скриптів Google Apps для пошуку запиту на функцію та у випадку, якщо його немає. Якщо запит на функцію вже існує для шуканої функції, позначте її зірочкою, оскільки кількість людей, які зірочкою подали запит на функцію, розглядає команда сценаріїв Google Apps, щоб визначити їх пріоритетними.

Позначте зірочкою наступний запит на функцію

Випуск 6000: Програмно обробляти частини вмісту комірок


2

ОНОВЛЕННЯ: Способи, згадані в цій публікації, тепер включені до приміток до випуску 22 січня 2019 року

Хтось знайшов незадокументовані методи та поділився прикладами, актуальними для цього питання.

З коментаря 21 до Обробляйте частини вмісту комірок, програмно згаданих у моїй попередній відповіді .

Ви також можете отримати поточний формат комірки, де різні частини текстів комірки складаються в різних стилях:

  var richText = ss.getCurrentCell().getRichTextValue();
  var runs = richText.getRuns();
  for (var i=0; i<runs.length; i++)
  {
    // get the style of this section of text, between startIndex and endIndex
    var run = runs[i];
    var startIndex = run.getStartIndex();
    var endIndex = run.getEndIndex();
    var styleBold = run.getTextStyle().isBold();
  }

Ймовірно, нові методи будуть оголошені на цьому тижні спочатку в Google Cloud Next 18 San Francisco, а потім у блозі розробників Google.

Пов'язані

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.