You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何回传用户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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 16:01:17