gpt4 book ai didi

javascript - Google Sheets Appscript 弹出提示响应并隐藏工作表,直到响应正确

转载 作者:行者123 更新时间:2023-12-02 21:59:23 25 4
gpt4 key购买 nike

我正在寻找一个脚本来启动一个弹出窗口,提示用户在启动时输入代码,并且如果用户没有输入正确的代码,它将隐藏所有工作表(只有一个),直到用户输入正确的代码它将继续启动用户提示并隐藏所有工作表,几乎是一个密码保护的转变,这就是我到目前为止所拥有的:

function onOpen() {


function hideAllSheetsExcept('Sheet1') {
var sheets=SpreadsheetApp.getActiveSpreadsheet().getSheets();

for(var i =0;i<sheets.length;i++){
Logger.log(i);
if(sheets[i].getName()!=sheetName){
sheets[i].hideSheet();
}
}
var quest = Browser.inputBox("Enter the requested value");
if quest == '12345' then
sheets[i].showSheet();
}
}

最佳答案

在文档的打开事件中,您希望不断询问用户密码,直到密码正确

您的代码已经朝着正确的方向发展,但需要进行以下修改:

  • 替换 simple trigger onOpen 通过 installable一。 Browser.inputBox 不会在简单触发器上运行。
  • 将检查密码是否正确的 if 语句替换为 while 循环,只要密码不正确,该循环就会不断询问密码。
  • 要显示所有工作表,您需要以与隐藏它们时相同的方式循环浏览它们。
  • 您的函数 hideAllSheetsExcept 不应嵌套在 onOpen 中,而只能从那里调用。

See the following sample of how you can implement the desired functionality, when binding to the function called openSheets an installable onOpen trigger:

function openSheets(){   
hideAllSheetsExcept('Sheet1')
}

function hideAllSheetsExcept(sheetName) {
var sheets=SpreadsheetApp.getActiveSpreadsheet().getSheets();
for(var i =0;i<sheets.length;i++){
Logger.log(i);
if(sheets[i].getName()!=sheetName){
sheets[i].hideSheet();
}
}
var quest="";
while (quest!='12345'){
quest = Browser.inputBox("Enter the requested value");
}
for(var i =0;i<sheets.length;i++){
sheets[i].showSheet();
}
}

关于javascript - Google Sheets Appscript 弹出提示响应并隐藏工作表,直到响应正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59925249/

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