如何回传用户YES/NO选择?Google Apps Script删除确认功能实现
解决方案
你的问题出在三点:一是重复定义了deleteSomething函数,二是逻辑顺序颠倒(先执行删除再判断用户选择),三是PropertyService的方法名拼写错误(正确写法是getUserProperties(),不是getUserproperties())。
正确的实现逻辑是先弹出确认框获取用户选择,再根据选择决定是否执行操作,代码如下:
function deleteSomething() { // 弹出确认提示框,获取用户选择 var userChoice = SpreadsheetApp.getUi().alert( "确认删除名称?", "点击YES将删除当前名称并恢复默认,NO则取消操作", SpreadsheetApp.getUi().ButtonSet.YES_NO ); // 根据用户选择执行对应操作 if (userChoice === SpreadsheetApp.getUi().Button.YES) { deletename('name'); addDefaultname(); // 和你原函数名保持一致,若你写成addDefaultName需统一命名 } // 选择NO时直接退出,不执行任何操作 } function deletename(value) { // 修正PropertyService方法名的大小写错误 PropertyService.getUserProperties().deleteProperty(value); } // 保留你已实现的恢复默认名称函数(假设你已有该逻辑) function addDefaultname() { // 你的恢复默认名称代码 }
关键说明:
- 先通过
SpreadsheetApp.getUi().alert弹出确认框,将用户的选择结果存入userChoice变量 - 仅当用户选择
YES时,才会执行删除属性和恢复默认名称的操作 - 选择
NO时函数直接终止,不会触发任何修改动作 - 修正了
PropertyService方法名的拼写错误,确保功能正常运行
内容的提问来源于stack exchange,提问作者runguy2911
相关产品推荐
相关产品推荐

