2013-02-12 48 views
1

我正在尝试设置一个注册应用程序,其中包括是,可能和没有响应的次数。有人可以告诉我如何从应用程序向电子表格中的单元格的值添加1?下面是我用于应用程序上的“是”按钮的功能,我已将点击处理程序添加到应用程序中。Google Apps脚本在按钮单击时将电子表格中单元格的值加1

function yesButton(e){ 
    var app = UiApp.getActiveApplication(); 
    var ss = SpreadsheetApp.openById('spreadsheet ID').getSheets()[0]; 
    var yesCount = ss.getRange("A2"); 
    var yesAdd = yesCount.getValues(); 
    var yesTotal = (yesAdd.value) + 1; 
    yesTotal.setValue(yesAdd); 

    return app; 
} 

回答

1

当您拨打getValues()时,您将获得一个2D数组。这是引用这样的。 yesAdd[row#][col#]。相反,您应该使用函数getValue(),该函数只返回一个值(不在数组中)。

一条线就变成

var yesAdd = yesCount.getValue(); 

然后写回到那个你读它的细胞。

yesCount.setValue(yesAdd+1); 

yesCount仍然指的是您要修改的细胞,所以我们设置该单元的值。

+1

很好的解释。 'var ss = ...'下面的所有内容都可以是ss.getRange(“A2”)。setValue(ss.getRange(“A2”)。getValue()+ 1); – ScampMichael 2013-02-12 22:11:39

+0

谢谢! @Phil Bozak 修复工作! – RachelW 2013-02-13 13:44:02

0

刚刚使用过它,它工作完美,想要一个简单的加减号脚本来使用一些不可见的按钮,它的工作原理。

我只是拆分成矿正负电流片..

function plus() { 

var ss = SpreadsheetApp.getActiveSpreadsheet(); 

var yesCount = ss.getRange("B7"); 

var yesAdd = yesCount.getValue(); 

yesCount.setValue(yesAdd+1); 

} 

function minus() { 

var ss = SpreadsheetApp.getActiveSpreadsheet(); 

var yesCount = ss.getRange("B7"); 

var yesAdd = yesCount.getValue(); 

yesCount.setValue(yesAdd-1); 

} 
相关问题