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

时间:2015-02-04 15:14:50

标签: google-apps-script google-sheets collaboration textcolor

在工作中,我们使用Google Spreadsheets进行相互沟通。每个人都有自己的文本颜色,允许他们在文档中工作。

但是每个人都忘记了自定义文本颜色。由于每次我们想要在Google Spreadsheeds中工作时选择文本颜色都不方便,我们可以使用Google Script Editor自动执行此操作。

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");
  }

}

我想出了这个脚本,因为我找不到任何其他内容。不幸的是,这不起作用。有人可以帮助我使其工作或给我一个现有脚本的链接吗?

这真的对我有帮助!可能还有其他人分享。

2 个答案:

答案 0 :(得分:1)

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

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) 希望有所帮助!

答案 1 :(得分:1)

我找到了解决方案并希望为可能认为有用的人分享它!

  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");
  }
}