每个协作者的不同文本颜色

Different text color for each collaborator

在工作中,我们使用 Google 电子表格进行相互交流。每个人都有自己的文本颜色,允许他们在文档中工作。

但是大家忘记自定义文字颜色了。由于每次我们想在 Google Spreadsheeds 中工作时 select 文本颜色不方便,我们有想法使用 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 == "user1@company.com"){
    setFontColor(".getActiveCell()", "#FF8800");
  }

  if (email == "user2@company.com"){
    setFontColor(".getActiveCell()", "#0099CC");
  }

  if (email == "user3@company.com"){
    setFontColor(".getActiveCell()", "#9933CC");
  }

  if (email == "user4@company.com"){
    setFontColor(".getActiveCell()", "#CC0000");
  }

}

我想出了这个脚本,因为我找不到其他任何东西。不幸的是,这是行不通的。有人可以帮助我让它工作或给我一个现有脚本的 link 吗?

这对我很有帮助!可能还有其他人。

您提供的代码中存在一些语法错误。尝试以这种方式更改 运行 代码:

function onOpen() {

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

  if (email == "user1@company.com"){
    setFontcolor("#FF8800");
  }

  if (email == "user2@company.com"){
    setFontcolor("#0099CC");
  }
}

此外,您还必须获取要更改颜色的值范围,然后使用 setFontcolor() 方法。您可以参考此页面了解更多信息:https://developers.google.com/apps-script/reference/spreadsheet/range#setFontColor(String) 希望对您有所帮助!

我找到了解决方案并想与可能认为有用的任何人分享!

  function onEdit() {

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

  if (email == "user1@company.com"){
    ActiveCell.setFontColor("#FF8800");
  }

  if (email == "user2@company.com"){
    ActiveCell.setFontColor("#0099CC");
  }

  if (email == "user3@company.com"){
    ActiveCell.setFontColor("#9933CC");
  }

  if (email == "user4@company.com"){
    ActiveCell.setFontColor("#CC0000");
  }
}