当添加菜单项来使用电子表格spreadsheet.addMenu()
是有办法让他们tickable喜欢的项目视图>正常吗?
Answer 1:
如果你真的想这样做,也许你可以做一些笨重的像下面并调用updateMenu
必要时添加复选标记。
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuEntries = [ {name: " item 1", functionName: "one"},
{name: " item 2", functionName: "two"} ];
ss.addMenu("myMenu", menuEntries);
}
function one() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.updateMenu("myMenu", [ {name: "✓ item 1", functionName: "one"},
{name: " item 2", functionName: "two"} ]);
// ... item 1 actions
}
function two() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.updateMenu("myMenu", [ {name: " item 1", functionName: "one"},
{name: "✓ item 2", functionName: "two"} ]);
// ... item 2 actions
}
Answer 2:
我试着用@KalyanReddy提供的答案,但遇到了一个问题,因为电子表格UI压缩空间和装饰菜单名称。 通过反复试验,我发现了一个变通。
下面是生成复选框,排列的菜单效用函数:
/**
* Make a checkbox menu item. Returns a string with the original text aligned to
* leave room for a check mark. (Dependent on font, compatible with default
* font used in Google Spreadsheets as of May 2013. YMMV.)
*
* @param {String} name Original item name
* @param {boolean} check True if menu item should have a check mark
*
* From an idea by Kalyan Reddy, http://stackoverflow.com/a/13452486/1677912
*/
function buildItemName( name, check ) {
// Prepend with check+space, or EM Space
return ( check ? "✓ " : "\u2003" ) + name;
}
为了真正使用这个,你应该写跟踪的状态,并通过调用buildItemName建立你的菜单项的单一功能,然后调用它与updateMenu()
时的状态变化。
Answer 3:
最简洁的答案是不。
长(ER)的答案是,菜单项只能调用函数,所以没有使用它显示一个“国家”。 但是你能想象,通过修改文本值或通过改变颜色来显示,有些功能被称为使用某种类型的显示你想要显示的状态下,电子表格本身标题的。
我假设你的要求的最终目的是显示如果一个函数被调用或不...如果我错了,那么请你解释为是你的意图。
文章来源: Can you make menu items in Google spreadsheet custom menus tickable?