Google Apps Script如何实现电子表格自定义菜单随新增函数自动更新
自动加载所有自定义函数的菜单实现方案
直接替换你现有的onOpen函数即可实现自动识别所有自定义函数生成菜单项,无需手动新增addItem代码:
function onOpen(e) { const ui = SpreadsheetApp.getUi(); const customMenu = ui.createMenu('Script Menu'); // 遍历全局作用域筛选自定义函数 Object.keys(this).forEach(funcName => { if ( typeof this[funcName] === 'function' // 排除不需要展示在菜单里的函数,可按需增减排除项 && !['onOpen', 'toString', 'valueOf', 'constructor'].includes(funcName) ) { customMenu.addItem(funcName, funcName); } }); customMenu.addToUi(); }
使用说明
- 代码会自动读取当前脚本中所有你定义的顶层函数,生成和函数名完全一致的菜单项,点击即可运行对应函数,完全匹配需求
- 如果你有内部工具函数不需要展示在菜单中,只需要把对应函数名添加到代码中的排除数组即可
- 后续新增业务函数后,只需刷新谷歌表格页面,菜单就会自动同步新增的菜单项,无需修改任何代码,其他共享用户刷新页面后也能直接看到最新菜单使用
内容的提问来源于stack exchange,提问作者Digital Farmer
相关产品推荐
相关产品推荐

