如何在Google Apps脚本中将项目添加到现有菜单(在Google文档中)?
我可以创建一个 new 菜单并添加一个项目:
DocumentApp.getUi().createMenu('MyMenu')
.addItem('Insert My Thing', 'myFunction')
.addToUi();
但为单个项目添加整个菜单似乎有点荒谬,这个菜单应该在现有的“插入”菜单下。
答案 0 :(得分:3)
目前不可能。即使文档说
文档,电子表格或表单只能包含一个具有给定名称的菜单。如果相同的脚本或其他脚本添加了具有相同名称的菜单,则新菜单将替换旧的菜单。
当我尝试以下代码时
DocumentApp.getUi().createMenu('Tools')
.addItem('Tool_item', 'toolItem')
.addToUi();
创建了另一个工具菜单:
答案 1 :(得分:2)
您可以使用自定义菜单(添加,组合...)执行您想要的操作但您不能以任何方式修改内置菜单,无法通过Google-Apps-Script访问它们
答案 2 :(得分:1)
是和否。
是的,您只能将菜单添加到现有的附加组件中。
不,但除了您自己的自定义菜单之外,其他任何地方都没有。
以下代码可能有所帮助:
function onOpen(e) {
var ui = SpreadsheetApp.getUi();
// Or DocumentApp or FormApp.
ui.createAddonMenu()
.addItem('Sort Current Column with Header until Blank Rows', 'sortCurrentColumn')
.addToUi();
}
function onInstall(e) {
onOpen(e);
}
答案 3 :(得分:0)
function someOtherFunction(){
}
function addMenu(){
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{
name : "Add Menu",
functionName : "addMenu"
},{
name : "Menu 2",
functionName : "someOtherFunction"
}];
sheet.addMenu("Test Menu", entries);
}
function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{
name : "Add Menu",
functionName : "addMenu"
}];
sheet.addMenu("Test Menu", entries);
};
答案 4 :(得分:0)
通过Google Developers documentation
// To create an additional Menu-Item to an existing Main-Menu
var ui = SpreadsheetApp.getUi();
ui.createMenu('Custom Menu')
.addItem('First item', 'menuItem1')
.addSeparator()
.addItem('Second item', 'menuItem2')
.addToUi();
// To Create a Menu-Item to a Sub-Menu in an existing Main-Menu
var ui = SpreadsheetApp.getUi();
ui.createMenu('Custom Menu')
.addItem('First item', 'menuItem1')
.addSeparator()
.addSubMenu(ui.createMenu('Sub-menu')
.addItem('Second item', 'menuItem2'))
.addToUi();