gpt4 book ai didi

javascript - “私有(private)”细胞

转载 作者:行者123 更新时间:2023-12-02 15:31:16 27 4
gpt4 key购买 nike

我想知道是否有任何方法可以将单元格“提供”给 Google 电子表格中的某人?我有一个电子表格,任何人都可以编写他们想要的内容,任何人都可以编辑他们想要的内容。我想添加一个功能,使得只有单元格的“作者”才能对其进行编辑。

例如John Doe 在单元格“B5”中写入“我想要一根香蕉”。 Jane Doe 在单元格“B6”中写下“我想要一个苹果”。约翰不想给简一个苹果,因此他编辑“B6”并将文本更改为“我不想要苹果。

我想阻止 John 编辑 Janes 单元格。我想确保只有约翰可以编辑他的单元格,而简可以编辑她的单元格。我希望它自动发生。

有人知道我该怎么做吗?

最佳答案

手动方式

您可以通过继续保护单个范围

right click > Protect Range > Set Permissions > Restrict who can edit this range > Custom

并输入允许修改该单元格的电子邮件地址。

管理员批量方式

如果您想查看一堆姓名和电子邮件地址,您也可以在函数中执行此操作:

var ranges = [["A1", "someone@a.com"],
["A2", "someoneElse@b.com"]];

function setEditRights(){
for (var i = 0; i < ranges.length; i++){
protect(ranges[i][0], ranges[i][1]);
}
}

function protect(range, emailAddress){
SpreadsheetApp.getActiveSpreadsheet()
.getActiveSheet()
.getRange(range)
.protect()
.addEditor(emailAddress);
}

自助服务方式

另一个选项是允许用户为自己保留单元格,您可以这样做:

function setAccess(){
SpreadsheetApp.getActiveSpreadsheet()
.getActiveSheet()
.getActiveRange()
.protect()
.addEditor(Session.getActiveUser().getEmail());
}

具有添加菜单的功能

function onOpen(){
var ui = SpreadsheetApp.getUi();
ui.createMenu('Reserve a Range')
.addItem('Reserve current Range', 'setAccess')
.addToUi();
}

这将允许用户选择一个单元格或范围并将其锁定,以便只有他们自己和作为所有者的您才能访问。然而,它基本上只是第一种方法的更方便的快捷方式。

关于javascript - “私有(private)”细胞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33286023/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com