2013-02-12 63 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); 

} 
相關問題