29

私は経験豊富なプログラマーです...私はOOPの概念を十分に理解しており、最近使用PHPMySQLています。私はGoogleAPIスクリプトに手を出し始めました。Googleスプレッドシートのセル1,1を読み取るための非常に単純なプログラムを作成しようとしています。APIはGoogleスプレッドシートに埋め込まれていません。SSの外部で実行する必要があります。

問題のコードは次のとおりです。

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はトップ/親/スーパークラスのようです。上記の太字のコードを見ると、Rangeオブジェクトを作成し、そのオブジェクトからメソッドを呼び出そうとしていると思います。私はここで何が間違っているのですか?

見てくれてありがとう!

4

1 に答える 1

57

最初に 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();

}

階層は、スプレッドシート --> シート --> 範囲 --> セル です。

于 2013-01-01T10:44:44.123 に答える