Javascript 谷歌工作表中的自定义文本限制
我正在寻找一些解决方案的自定义限制在谷歌表。 示例:如果单元格A2不包含,则限制单元格B2进行编辑。就我在谷歌搜索时所知,我需要以某种方式处理TextValidationBuilder,但我没有脚本技能,到目前为止还没有找到任何示例。 你知道怎么设置吗 更新: 我需要对整行进行此限制,因此如果A2为否,则整个2将被禁用以进行编辑 列A只能由指定的用户编辑,因此不是每个人都可以访问它 我正在尝试做的截图 解决方案: 对于完整列A2:A、B2:B,直到最后一行内容:Javascript 谷歌工作表中的自定义文本限制,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我正在寻找一些解决方案的自定义限制在谷歌表。 示例:如果单元格A2不包含,则限制单元格B2进行编辑。就我在谷歌搜索时所知,我需要以某种方式处理TextValidationBuilder,但我没有脚本技能,到目前为止还没有找到任何示例。 你知道怎么设置吗 更新: 我需要对整行进行此限制,因此如果A2为否,则整个2将被禁用以进行编辑 列A只能由指定的用户编辑,因此不是每个人都可以访问它 我正在尝试做的截图 解决方案: 对于完整列A2:A、B2:B,直到最后一行内容: function myFunct
function myFunction() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName('Sheet1');
const checkA = sh.getRange('A2:A'+sh.getLastRow()).getValues().flat();
const me = Session.getEffectiveUser();
checkA.forEach( (ch,index) =>{
if (ch === 'No')
{
var protection = sh.getRange(index+2,2).protect()
protection.addEditor(me);
protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()) {
protection.setDomainEdit(false);
}
}});
}
参考资料:
我认为这个类更符合你的要求。不确定我做错了什么,但玩过之后,我仍然可以编辑其他单元格:@KirillKuchin你可以编辑,因为你是所有者。其他用户将无法编辑这些单元格。@KirillKuchin如果A2为否,您希望用户只能编辑B2吗?我认为您只想保护B2不被编辑。@KirillKuchin如果您想保护B2以外的所有单元格,请使用我的第一个解决方案。好吧,从不同的帐户尝试过,但我仍然可以编辑这些单元格。我还需要给一些权限,像一些人可以编辑,但其他人不能。并限制整行的版本。我在这里做了一个样品