Javascript 谷歌表单编辑确认提示
我一直在从事一个大型的GoogleSheets项目,我有一个带有Yes/No下拉列表的专栏。将单元格更改为“否”将删除另一个工作表中的相应行,因此我想弹出一条警告,以便他们在未意识到或错误单击时可以取消 这就是我试图做到的:Javascript 谷歌表单编辑确认提示,javascript,google-chrome,google-apps-script,google-sheets-api,Javascript,Google Chrome,Google Apps Script,Google Sheets Api,我一直在从事一个大型的GoogleSheets项目,我有一个带有Yes/No下拉列表的专栏。将单元格更改为“否”将删除另一个工作表中的相应行,因此我想弹出一条警告,以便他们在未意识到或错误单击时可以取消 这就是我试图做到的: var ui = SpreadsheetApp.getUi(); var response = ui.prompt("This will delete the corresponding entry in ShinyDex. Continue?",ui.ButtonSet.
var ui = SpreadsheetApp.getUi();
var response = ui.prompt("This will delete the corresponding entry in ShinyDex. Continue?",ui.ButtonSet.OK_CANCEL);
if( response.getSelectedButton() == ui.Button.OK) {
removeShinyHunt(row,r);
} else if(response.getSelectedButton() == ui.Button.CANCEL) {
r.setValue("Yes");
}
看起来很直截了当,但在做了大量的头发拉扯之后,我意识到你不能在onEdit中调用提示,因为它在AuthMode.LIMITED中运行。我似乎找不到任何方法来解决这个问题,但我需要一些排序确认对话框来完成此更改。
有没有人知道一个变通方法或其他功能可以做到这一点?我已经在上面有了帮助文本,所以当您悬停时它会告诉您。那么调用
onEdit()中的另一个函数(在该函数中调用了ui.prompt
)怎么样?此外,您应该首先检查单元格的值是否为“否”。我尝试将其放入另一个函数中,但仍然不起作用。我在控制台中得到一个错误,说我没有使用提示的权限。我检查了一下,这只是我认为相关内容的一个片段,那么使用“范围”设置的“保护表”和“编辑此范围时显示警告”权限如何?这是一个很好的功能,我不知道。但这对我来说不太合适。我需要能够更改警告消息,并使其仅在更改为“否”时运行。我发送反馈,看看他们是否会添加该功能,因为我发现人们对它有类似的功能要求。现在,我只是使用一个通知,告诉用户该行将被删除,如果用户希望取消删除,请按Ctrl+z两次。