在工作中,我们使用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");
}
}
我想出了这个脚本,因为我找不到任何其他内容。不幸的是,这不起作用。有人可以帮助我使其工作或给我一个现有脚本的链接吗?
这真的对我有帮助!可能还有其他人分享。
答案 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");
}
}