Google E-Tablolar'ı genişletme

Google Apps Komut Dosyası, Google E-Tablolar ile yeni ve etkileyici işler yapmanıza olanak tanır. Google E-Tablolar'a özel menüler, iletişim kutuları ve kenar çubukları eklemek için Apps Komut Dosyası'nı kullanabilirsiniz. Ayrıca, E-Tablolar için özel işlevler yazmanıza ve E-Tablolar'ı Takvim, Drive ve Gmail gibi diğer Google hizmetleriyle entegre etmenize olanak tanır.

Google E-Tablolar için tasarlanan komut dosyalarının çoğu, bir e-tablodaki hücre, satır ve sütunlarla etkileşim kurmak için dizileri değiştirir. JavaScript'teki dizileri bilmiyorsanız Codecademy, diziler için mükemmel bir eğitim modülü sunar. (Bu kursun, Google tarafından hazırlanmadığını ve Google ile ilişkili olmadığını unutmayın.)

Apps Komut Dosyası'nı Google E-Tablolar ile birlikte kullanmaya hızlıca başlamak için Makrolar, Menüler ve Özel İşlevler başlıklı 5 dakikalık hızlı başlangıç kılavuzuna bakın.

Başlayın

Apps Komut Dosyası, Google E-Tablolarını programlı olarak oluşturmanıza, okumanıza ve düzenlemenize olanak tanıyan özel API'ler içerir. Apps Komut Dosyası, Google E-Tablolar ile iki kapsamlı şekilde etkileşimde bulunabilir: Komut dosyasının kullanıcısı e-tablo için uygun izinlere sahipse herhangi bir komut dosyası e-tablo oluşturabilir veya e-tabloyu değiştirebilir. Ayrıca bir komut dosyası, e-tabloya bağlanabilir. Bu da komut dosyasına, kullanıcı arayüzünü değiştirme veya e-tablo açıldığında yanıt verme özellikleri sunar. Bağlı komut dosyası oluşturmak için Google E-Tablolar'da Uzantılar > Apps Komut Dosyası'nı seçin.

E-tablo hizmeti, Google E-Tablolar'ı iki boyutlu dizilerle çalışan bir tablo olarak ele alır. Verileri e-tablodan almak için verilerin depolandığı e-tabloya erişebilmeniz, verilerin bulunduğu e-tabloda ilgili aralığı almanız ve ardından hücrelerin değerlerini almanız gerekir. Apps Komut Dosyası, e-tablodaki yapılandırılmış verileri okuyup bunlar için JavaScript nesneleri oluşturarak verilere erişimi kolaylaştırır.

Verileri okuma

Aşağıdaki resimde gösterildiği gibi, e-tabloda depoladığınız ürün adlarının ve ürün numaralarının bir listesine sahip olduğunuzu varsayalım.

Aşağıdaki örnekte, ürün adları ile ürün numaralarının nasıl alınıp günlüğe kaydedileceği gösterilmektedir.

function logProductInfo() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  for (var i = 0; i < data.length; i++) {
    Logger.log('Product name: ' + data[i][0]);
    Logger.log('Product number: ' + data[i][1]);
  }
}

Günlükleri göster

Günlüğe kaydedilen verileri görüntülemek için komut dosyası düzenleyicisinin üst kısmında Yürütme günlüğü'nü tıklayın.

Veri yazma

E-tabloya yeni bir ürün adı ve numarası gibi verileri depolamak için komut dosyasının sonuna aşağıdaki kodu ekleyin.

function addProduct() {
  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.appendRow(['Cotton Sweatshirt XL', 'css004']);
}

Yukarıdaki kod, e-tablonun alt kısmına, belirtilen değerlerle yeni bir satır ekler. Bu işlevi çalıştırırsanız e-tabloya yeni bir satır eklendiğini görürsünüz.

Özel menüler ve kullanıcı arayüzleri

Özel menüler, iletişim kutuları ve kenar çubukları ekleyerek Google E-Tablolar'ı özelleştirebilirsiniz. Menü oluşturmayla ilgili temel bilgileri öğrenmek için menü kılavuzuna bakın. Bir iletişim kutusunun içeriğini özelleştirme hakkında bilgi edinmek için HTML hizmeti kılavuzuna bakın.

E-tablo içindeki bir resme veya çizime komut dosyası işlevi de ekleyebilirsiniz. Bu işlev, kullanıcı resmi veya çizimi tıkladığında yürütülür. Daha fazla bilgi edinmek için Google E-Tablolar'da Resimler ve Çizimler başlıklı makaleyi inceleyin.

Özel arayüzünüzü bir eklenti kapsamında yayınlamayı planlıyorsanız, Google E-Tablolar düzenleyicisinin stili ve düzeniyle tutarlılık için stil kılavuzunu takip edin.

Google Formlar'a bağlanılıyor

Apps Komut Dosyası, Formlar ve E-tablo hizmetleri aracılığıyla Google Formlar'ı Google E-Tablolar'a bağlamanıza olanak tanır. Bu özellik, bir e-tablodaki verilere dayanan bir Google Formu'nu otomatik olarak oluşturabilir. Apps Komut Dosyası, kullanıcı forma yanıt verdikten sonra belirli bir işlemi gerçekleştirmek için onFormSubmit gibi tetikleyiciler kullanmanıza da olanak tanır. Google E-Tablolar'ı Google Formlar'a bağlama hakkında daha fazla bilgi edinmek için Google Formlar'da Yanıtları Yönetme başlıklı 5 dakikalık hızlı başlangıç kılavuzunu deneyin.

Biçimlendirme

Range sınıfı, bir hücrenin veya hücre aralığının biçimine erişmek ve biçimi değiştirmek için setBackground(color) gibi yöntemler içerir. Aşağıdaki örnekte, bir aralığın yazı tipi stilini nasıl ayarlayabileceğiniz gösterilmektedir:

function formatMySpreadsheet() {
  // Set the font style of the cells in the range of B2:C2 to be italic.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];
  var cell = sheet.getRange('B2:C2');
  cell.setFontStyle('italic');
}

Veri doğrulama

Apps Komut Dosyası, Google E-Tablolar'daki mevcut veri doğrulama kurallarına erişmenize veya yeni kurallar oluşturmanıza olanak tanır. Örneğin, aşağıdaki örnekte, hücrede yalnızca 1 ile 100 arasında sayılara izin veren bir veri doğrulama kuralının nasıl ayarlanacağı gösterilmektedir.

function validateMySpreadsheet() {
  // Set a rule for the cell B4 to be a number between 1 and 100.
  var cell = SpreadsheetApp.getActive().getRange('B4');
  var rule = SpreadsheetApp.newDataValidation()
     .requireNumberBetween(1, 100)
     .setAllowInvalid(false)
     .setHelpText('Number must be between 1 and 100.')
     .build();
  cell.setDataValidation(rule);
}

Veri doğrulama kurallarıyla çalışma hakkında daha fazla bilgi için SpreadsheetApp.newDataValidation(), DataValidationBuilder ve Range.setDataValidation(rule) bölümlerine bakın.

Listeler

Apps Komut Dosyası, belirli bir aralıktaki verileri temsil eden bir e-tabloya grafikler yerleştirmenize olanak tanır. Aşağıdaki örnekte, A1:B15 hücrelerinde grafiği çıkarılabilir verilerinizin olduğu varsayılarak yerleştirilmiş bir çubuk grafik oluşturulur:

function newChart() {
  // Generate a chart representing the data in the range of A1:B15.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  var chart = sheet.newChart()
     .setChartType(Charts.ChartType.BAR)
     .addRange(sheet.getRange('A1:B15'))
     .setPosition(5, 5, 0, 0)
     .build();

  sheet.insertChart(chart);
}

E-tablonuza grafik yerleştirme hakkında daha fazla bilgi edinmek için EmbeddedChart ve belirli grafik oluşturucuları (ör. EmbeddedPieChartBuilder) inceleyin.

Google E-Tablolar'daki özel işlevler

Özel işlev, =SUM(A1:A5) gibi yerleşik bir e-tablo işlevine benzer. Tek fark, işlevlerin davranışını Apps Komut Dosyası ile sizin tanımlamanızdır. Örneğin, bir değeri inçten milimetreye dönüştüren in2mm() adlı özel bir işlev oluşturabilir ve ardından, hücreye =in2mm(A1) veya =in2mm(10) yazarak formülü e-tablonuzda kullanabilirsiniz.

Özel işlevler hakkında daha fazla bilgi edinmek için Menüler ve Özel İşlevler 5 dakikalık hızlı başlangıç kılavuzunu deneyin veya daha ayrıntılı özel işlevler kılavuzuna göz atın.

Makrolar

Makrolar, Apps Komut Dosyası kodunu Google E-Tablolar kullanıcı arayüzünden yürütmenin başka bir yoludur. Özel işlevlerin aksine, bunları klavye kısayoluyla veya Google E-Tablolar menüsünden etkinleştirirsiniz. Daha fazla bilgi edinmek için Google E-Tablolar Makroları bölümüne bakın.

Google E-Tablolar için eklentiler

Eklentiler, Google E-Tablolar içinde çalışan ve Google E-Tablolar eklenti mağazasından yüklenebilen, özel olarak paketlenmiş Apps Komut Dosyası projeleridir. Google E-Tablolar için bir komut dosyası geliştirdiyseniz ve bunu dünyayla paylaşmak istiyorsanız Apps Komut Dosyası, diğer kullanıcıların eklenti mağazasından yükleyebilmesi için komut dosyanızı eklenti olarak publish olanak tanır.

Tetikleyiciler

Bir Google E-Tablolar dosyasına bağlı olan komut dosyaları, e-tabloya düzenleme erişimi olan bir kullanıcı e-tabloyu açtığında veya düzenlediğinde otomatik olarak yanıt vermek için onOpen() ve onEdit() gibi basit tetikleyicileri kullanabilir.

Basit tetikleyiciler gibi yüklenebilir tetikleyiciler de belirli bir etkinlik gerçekleştiğinde Google E-Tablolar'ın bir işlevi otomatik olarak çalıştırmasını sağlar. Ancak yüklenebilir tetikleyiciler basit tetikleyicilerden daha fazla esneklik sunar ve şu etkinlikleri destekler: açma, düzenleme, değiştirme, form gönderme ve zamana dayalı (saat).