我正在处理带有表格的电子表格,该表格包含工人的姓名及其全年的空缺情况。我的目标是当特定人员打开工作表时以适当的名称突出显示单元格。所有用户的first-name.last_name@gmail.com架构中的Google邮件。
我已经编写了一些代码,用于查找名称并对活动用户的名称进行粗体操作,您可以在下面看到它:
function onOpen(e)
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheets = ss.getSheets();
for(var k = 0; k<sheets.length; k++)
{
var data = sheets[k].getDataRange().getValues();
var user = Session.getActiveUser().getEmail();
var splitname = user.split("@")[0];
var first = splitname.split(".")[0];
var last = splitname.split(".")[1];
var formatted_first = first.charAt(0).toUpperCase() + first.slice(1);
var formatted_last = last.charAt(0).toUpperCase() + last.slice(1);
var name = formatted_first + " " + formatted_last;
for(var i = 0; i<data.length;i++)
{
if(data[i][0] == name)
{
var a = i+1;
}
}
sheets[k].getRange(a,1).setFontWeight("bold");
}
}
问题在于:
Soo,我的问题是是否有可能使更改仅对进行更改的用户可见,以及如何仅在打开工作表时执行突出显示。
如果您知道任何不使用宏就可以实现的Google功能,那将是最佳解决方案。也许我的研究不够好。
预先感谢您的帮助!
答案 0 :(得分:0)
Soo,我的问题是是否有可能使更改仅对进行更改的用户可见,以及如何仅在打开工作表时执行突出显示。
不,没有任何可能性。替代方法是为每个用户使用一个电子表格,或编辑共享设置以仅允许一个用户在所有者之外访问该电子表格,但是您必须假定所有者和当前编辑者将能够看到由所有者进行的更改。另一个。
注意:过滤器视图允许用户应用仅对使用过滤器视图的用户可见的过滤器设置,但其他用户可以查看对过滤数据的任何更改。