根据用户启用下拉菜单选项

时间:2020-07-11 13:18:22

标签: google-docs

好的,这似乎很愚蠢,因为这是我第一次使用Google文档,这可能有一个非常简单的解决方案,但我还没有通过谷歌搜索找到答案。

基本上,我的工作表有一个包含3个选项的下拉菜单。该工作表有3位活跃用户对其进行编辑。我如何使下拉菜单中的选项“ A”仅对用户“ A”可用,依此类推?基本上,让用户“ A”仅选择我允许他使用的选项。如果这样的事情不可能发生,那么解决方法是什么?再次抱歉,我提出了一个看似简单的问题,谢谢。

1 个答案:

答案 0 :(得分:0)

由于对范围的保护适用于所选范围,而数据验证选项都在同一范围内,而不是单独的范围,因此无法实现所需的保护。

您可以做什么:

1。保护每个特定用户的范围

由于每个用户只有一个选项可用,因此您可以创建三个单元格来代表每个用户的选项。然后,您必须保护它们中的每一个,以便仅让所需的用户访问所需的单元格/选项。

2。利用Apps脚本

Apps Script是一个功能强大的开发平台,可用于构建Web应用程序和自动执行任务。令其与众不同的是它易于使用并创建与G Suite集成的应用程序。

即使这仍然不能让您直接完成任务,您也可以要求用户输入电子邮件地址,并根据响应显示自定义内容:

function onOpen() {
   var ss = SpreadsheetApp.getActiveSheet();
   var ui = SpreadsheetApp.getUi();
   var result = ui.prompt('Please enter your email address:', ui.ButtonSet.OK_CANCEL);
   var button = result.getSelectedButton();
   var text = result.getResponseText();

   if (button == ui.Button.CANCEL) {
      ui.alert('I didn\'t get your name.');
   } else if (button == ui.Button.CLOSE) {
      ui.alert('You closed the dialog.');
   }
   if (text == 'user_a@email.com')
     // display the content for user A
   else if (text == 'user_b@email.com')
     //display the content for user B
  else if (text == 'user_c@email.com')
     //display the content for user C
}

参考

相关问题