Google E-Tablolar'ı genişletme

Google Apps Komut Dosyası, Google E-Tablolar ile yeni ve ilginç şeyler 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 tasarlanmış komut dosyalarının çoğu, bir e-tablodaki hücreler, satırlar ve sütunlarla etkileşim kurmak için dizileri işler. JavaScript'teki dizilere aşina değilseniz Codecademy'nin diziler için mükemmel bir eğitim modülü vardır. (Bu kursun Google tarafından geliştirilmediğini ve Google ile ilişkili olmadığını unutmayın.)

Apps Komut Dosyası'nı Google E-Tablolar ile kullanmaya dair hızlı bir giriş için Makrolar, Menüler ve Özel İşlevler konulu 5 dakikalık hızlı başlangıç kılavuzuna göz atın.

Başlayın

Apps Script, Google E-Tablolar'ı programatik 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 farklı şekilde etkileşim kurabilir: Komut dosyasının kullanıcısı e-tablo için uygun izinlere sahipse herhangi bir komut dosyası e-tablo oluşturabilir veya mevcut bir e-tabloyu değiştirebilir. Ayrıca, komut dosyası bir e-tabloya bağlı olabilir. Bu durumda komut dosyası, kullanıcı arayüzünü değiştirme veya e-tablo açıldığında yanıt verme gibi özel özelliklere sahip olur. Bağlı bir komut dosyası oluşturmak için Google E-Tablolar'da Uzantılar > Apps Komut Dosyası'nı seçin.

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

Verileri okuma

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

Aşağıdaki örnekte, ürün adlarının ve ürün numaralarının nasıl alınacağı ve 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üzenleyicinin üst kısmındaki Yürütme günlüğü'nü tıklayın.

Veri yazma

E-tabloya yeni ü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şturma ile ilgili temel bilgileri öğrenmek için menülerle ilgili kılavuzu inceleyin. İletişim kutusunun içeriğini özelleştirme hakkında bilgi edinmek için HTML hizmeti kılavuzuna bakın.

E-tablodaki 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ı olması için stil kılavuzunu uygulayın.

Google Formlar'a bağlanma

Apps Komut Dosyası, Formlar ve E-Tablolar hizmetleri aracılığıyla Google Formlar'ı Google E-Tablolar'a bağlamanıza olanak tanır. Bu özellik, e-tablodaki verilere göre otomatik olarak bir Google Formu oluşturabilir. Apps Komut Dosyası, kullanıcı form yanıtını verdikten sonra belirli bir işlem yapmak 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 5 dakikalık Google Formlar için Yanıtları Yönetme hızlı başlangıç kılavuzunu deneyin.

Biçimlendirme

Range sınıfında, bir hücrenin veya hücre aralığının biçimine erişip biçimi değiştirmek için setBackground(color) gibi yöntemler bulunur. 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 Script, 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 bir 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)

Listeler

Apps Komut Dosyası, belirli bir aralıktaki verileri temsil eden grafikleri e-tablolara yerleştirmenize olanak tanır. Aşağıdaki örnekte, A1:B15 hücrelerinde grafiklenebilir verileriniz olduğu varsayılarak yerleşik 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 EmbeddedPieChartBuilder gibi belirli grafik oluşturuculara bakın.

Google E-Tablolar'daki özel işlevler

Özel işlevler, =SUM(A1:A5) gibi yerleşik e-tablo işlevlerine benzer. Tek fark, işlevlerin davranışını Apps Komut Dosyası ile tanımlamanızdır. Örneğin, bir değeri inçten milimetreye dönüştüren in2mm() adlı bir özel işlev oluşturabilir, ardından bir 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 başlıklı 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, Google E-Tablolar kullanıcı arayüzünden Apps Komut Dosyası kodunu yürütmenin başka bir yoludur. Özel işlevlerden farklı olarak bunları klavye kısayoluyla veya Google E-Tablolar menüsünden etkinleştirirsiniz. Daha fazla bilgi için Google E-Tablolar makroları başlıklı makaleyi inceleyin.

Google E-Tablolar için eklentiler

Eklentiler, Google E-Tablolar'da ç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ı, komut dosyanızı eklenti olarak yayınlamanıza olanak tanır. Böylece diğer kullanıcılar eklenti mağazasından komut dosyanızı yükleyebilir.

Tetikleyiciler

Bir Google E-Tablolar dosyasına bağlı 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() işlevleri gibi basit tetikleyicileri kullanabilir.

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