2013-01-01 48 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