2013-01-01 47 views
14

我是一個溫和經驗的程序員閱讀電子表格單元格1,1 ......我的OOP概念的理解OK,我一直在使用PHPMySQL最近。我開始涉足Google API腳本。我試圖編寫一個非常簡單的程序來讀取谷歌電子表格中的單元格1,1。該API不嵌入谷歌電子表格中,我需要它在SS之外運行。嘗試使用谷歌API的腳本

這裏是有問題的代碼:

function email() { 

// Opens SS by its ID 

var ss = SpreadsheetApp.openById("0AgJjDgtUl5KddE5rR01NSFcxYTRnUHBCQ0stTXNMenc"); 

// Get the name of this SS 

var name = ss.getName(); 

讀取單元1,1 *線下不起作用*

var data = Range.getCell(0, 0); 

我明白getCell()是該範圍內的方法類。從我在資源中看到的情況來看,Range看起來是頂級/父級/超級類別。看看上面的粗體代碼,我相信我已經創建了一個Range對象並試圖從該對象中調用一個方法。我在這裏做錯了什麼?

感謝您的期待!

回答

32

你必須首先獲得Range對象。另外,getCell()不會返回單元格的值,而是返回單元格的Range對象。因此,使用的東西上的

function email() { 

// Opens SS by its ID 

var ss = SpreadsheetApp.openById("0AgJjDgtUl5KddE5rR01NSFcxYTRnUHBCQ0stTXNMenc"); 

// Get the name of this SS 

var name = ss.getName(); // Not necessary 

// Read cell 1,1 * Line below does't work * 

// var data = Range.getCell(0, 0); 
var sheet = ss.getSheetByName('Sheet1'); // or whatever is the name of the sheet 
var range = sheet.getRange(1,1); 
var data = range.getValue(); 

} 

層次結構中的線條是 電子表格 - >表 - >範圍 - >細胞。

+0

謝謝,現在有道理。但從一個完整的新手的角度來看,我怎麼會知道這個結構?查看文檔(https://developers.google.com/apps-script/)默認服務>電子表格。看來,範圍,工作表,電子表格和SpreadsheetApp是電子表格的相同級別/相同的子類別。是否有另一種資源可以查看Google API腳本框架的正確層次結構(即:如Java如何佈置?) – Makonnen

+2

那麼,我列出的層次結構並不意味着它們是彼此的子類。相反,我的意思是使用Spreadsheet類,你可以得到一個Sheet對象。從Sheet對象中,你得到一個Range對象等等。 – Srik

+0

啊,這很有道理,我不習慣這樣的工作,但現在你說這樣解釋,這是有道理的。謝謝您的幫助! – Makonnen