2013-01-01 23 views
14

Ben oldukça tecrübeli bir programcıyım ... OOP kavramlarını iyi anladım, son zamanlarda PHP ve MySQL kullanıyorum. Google API Komut Dosyaları ile uğraşmaya başladım. Google e-tablosunda 1,1 hücresini okumak için çok basit bir program yazmaya çalışıyorum. API, Google e-tablosuna gömülü DEĞİL, SS dışında çalışmam gerekiyor. İşte Google Script API'yı kullanarak elektronik tablodaki 1,1 hücreyi okumaya çalışıyorum

söz konusu kod şudur: 1,1 * Hat aşağıda çalışmıyor

function email() { 

// Opens SS by its ID 

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

// Get the name of this SS 

var name = ss.getName(); 

Oku hücre *

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

Ben getCell() Range içinde bir yöntemdir anlıyoruz sınıf. Kaynaklarda görebildiğim kadarıyla Range, üst/üst/süper sınıftır. Yukarıdaki kalın kodlara baktığımda, bir Range nesnesi oluşturduğuma ve bu nesneden bir yöntem çağırmaya çalıştığımı düşünüyorum. Ne yapıyorum burada yanlış?

Baktığınız için teşekkürler!

cevap

32

İlk önce Range nesnesini almanız gerekir. Ayrıca, getCell() hücrenin değerini döndürmez, bunun yerine hücrenin Range nesnesini döndürür. Yani,

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(); 

} 

hiyerarşisi hatlarında şey kullanın Elektronik Tablo olduğunu -> Sac -> Menzil -> Hücre.

+0

Teşekkürler, bu şimdi mantıklı. Ama tam bir yeni oyuncu açısından, bu yapıyı nasıl bilebilirim? Dokümanlara (https://developers.google.com/apps-script/) Varsayılan Hizmetler> Elektronik Tablo'ya bakın. Aralık, Sayfa, E-Tablo ve SpreadsheetApp'ın E-tablo'nun aynı düzey/eşit alt sınıfları olduğu anlaşılıyor. Google API Komut Dosyası çerçevesinin uygun hiyerarşisini görüntüleyebildiğim başka bir kaynak var mı (örneğin: Java'nın nasıl ortaya koyduğu gibi?) – Makonnen

+2

Listelediğim hiyerarşi, birbirinin alt sınıfları olmaları bakımından bir şey değil. Bunun yerine, Spreadsheet sınıfını kullanmak istediğim bir Sheet nesnesini alabilirsiniz. Sheet nesnesinden bir Range nesnesi ve benzeri. – Srik

+0

Ahhh bu mantıklı, ben böyle bir şeyle çalışmaya alışkın değilim, ama şimdi bunu böyle açıklıyorsunuz, mantıklı. Yardımınız için teşekkürler! – Makonnen

İlgili konular