目前,我正在为我们的销售表开发菜单。目的是单击菜单项,然后跳到Google表格中的该单元格(将其视为大型表格文档的内容菜单)。
此刻,我有了一个手动输入菜单,因此我的同事可以进入该单元格。我将它们分为5个变量,所有这些变量都需要可单击(并且无需手动输入)。另外,所有这些单元都需要以某种方式是永久的,因此当我连续广告时,我不必再次编辑脚本。有人知道我该怎么做到吗?
代码如下:
Single<Integer> resultOfReduce = flowableObservable
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.reduce(0, new BiFunction<Integer, Integer, Integer>() {
@Override
public Integer apply(Integer result, Integer number) {
//Log.e(TAG, "Result: " + result + ", new number: " + number);
return result + number;
}
});
resultOfReduce.subscribe(observer); //this is the subscribe method from the Single class
答案 0 :(得分:0)
我没有使用Google文档的经验,但是我建议从实施DRY原则开始。
function menuItem1() {
openMenuItem('UREN', 'A191');
}
function openMenuItem(title, cell) {
var strRange = Browser.inputBox("Om naar " + title + " te gaan vul dan in " + cell + ":", Browser.Buttons.OK_CANCEL);
if(strRange != "cancel") {
try {
SpreadsheetApp.getActiveSheet().getRange(strRange).activate();
}
catch(e) {
Browser.msgBox(e.message);
}
}
}
我什至不确定google docs使用哪种语言,我基于您的示例假设使用javascript,但如果没有,那么像我在openMenuItem的第一行中一样,如何使用变量将字符串连接起来:)
答案 1 :(得分:0)
在朋友的帮助下,我设法解决了第一个挑战(无需人工输入):
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('Inhoudsopgave')
.addItem('Uren', 'menuItem1')
.addSeparator()
.addItem('Marge','menuItem2')
.addSeparator()
.addItem('Omzet','menuItem3')
.addSeparator()
.addItem('Bonus','menuItem4')
.addSeparator()
.addItem('Pie Charts','menuItem5')
.addToUi();
}
function menuItem1(){
selectCell('A2');
}
function menuItem2(){
selectCell('A191');
}
function menuItem3(){
selectCell('A382');
}
function menuItem4(){
selectCell('A581');
}
function menuItem5(){
selectCell('A797');
}
function selectCell(cell){
try
{
SpreadsheetApp.getActiveSheet().getRange(cell).activate();
}
catch(e) {
Browser.msgBox(e.message);
}
}
现在我们面临挑战,因此我不必在每次添加一行时都调整变量。这样做的目的是让脚本搜索特定的文本行(例如MARGE1X),以便每次有人有建议时,它都能找到该单元格?