1

На работе мы используем электронные таблицы Google для взаимной связи. У каждого свой собственный текст, что им разрешено работать в документе.Различные цвета текста для каждого соавтора

Но каждый забывает настроить цвет текста. Поскольку не всегда удобно выбирать цветной текст каждый раз, когда мы хотим работать в Google Spreadsheeds, у нас есть идея автоматизировать это с помощью редактора сценариев Google.

function setFontColor(range, fontc) { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheets()[0]; 
    var cell = sheet.getRange(range); 
    cell.setFontColor(fontc); 
} 

function onEdit() { 

    var email = Session.getActiveUser().getEmail(); 

    if (email == "[email protected]"){ 
    setFontColor(".getActiveCell()", "#FF8800"); 
    } 

    if (email == "[email protected]"){ 
    setFontColor(".getActiveCell()", "#0099CC"); 
    } 

    if (email == "[email protected]"){ 
    setFontColor(".getActiveCell()", "#9933CC"); 
    } 

    if (email == "[email protected]"){ 
    setFontColor(".getActiveCell()", "#CC0000"); 
    } 

} 

Я придумал этот сценарий, так как я не мог найти ничего другого. К сожалению, это не работает. Может ли кто-нибудь помочь мне заставить его работать или дать ссылку на существующий скрипт?

Это действительно помогло бы мне! И, вероятно, выделить других.

+0

Какой у вас стиль setFontcolor(), который вы вызываете? –

ответ

1

Я нашел решение и хотел поделиться им для тех, кто может подумать, что это будет полезно!

function onEdit() { 

    var ActiveSheet = SpreadsheetApp.getActiveSheet(); 
    var ActiveRow = ActiveSheet.getActiveRange().getRow(); 
    var ActiveCell = ActiveSheet.getActiveCell(); 
    var email = Session.getActiveUser().getEmail(); 

    if (email == "[email protected]"){ 
    ActiveCell.setFontColor("#FF8800"); 
    } 

    if (email == "[email protected]"){ 
    ActiveCell.setFontColor("#0099CC"); 
    } 

    if (email == "[email protected]"){ 
    ActiveCell.setFontColor("#9933CC"); 
    } 

    if (email == "[email protected]"){ 
    ActiveCell.setFontColor("#CC0000"); 
    } 
} 
+0

onEdit id действительно лучшая идея, так как я не вижу никакого способа изменить глобальное свойство fontColor для «текущей сессии». Хорошая небольшая программа;) –

1

В коде предусмотрены некоторые синтаксические ошибки. Попробуйте изменить этот путь и выполнить код:

function onOpen() { 

    var email = Session.getActiveUser().getEmail(); 

    if (email == "[email protected]"){ 
    setFontcolor("#FF8800"); 
    } 

    if (email == "[email protected]"){ 
    setFontcolor("#0099CC"); 
    } 
} 

Также вы должны получить диапазон значений, для которых вы хотите изменить цвет, а затем использовать setFontcolor() метод. Вы можете обратиться к этой странице для получения дополнительной информации: https://developers.google.com/apps-script/reference/spreadsheet/range#setFontColor(String) Надеюсь, что это поможет!

+0

Я изменил исходный код, но он не работает. Я назвал onEdit, и тогда он должен получить activecell. – Anonymous