Google E-Tablolar'ı genişletme

Google Apps Komut Dosyası, Google E-Tablolar'la yeni ve etkileyici şeyler yapmanıza olanak tanır. Google E-Tablolar'a özel menü, iletişim kutusu ve kenar çubuğu 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 çoğu komut dosyası, e-tablodaki hücreler, satırlar ve sütunlarla etkileşim kurmak için dizileri manipüle eder. JavaScript'teki dizilere aşina değilseniz Codecademy, diziler için mükemmel bir eğitim modülü sunar. (Bu kursun Google tarafından geliştirilmediğini ve Google ile ilişkili olmadığını unutmayın.)

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

Başlayın

Apps Komut Dosyası, Google E-Tablolarını 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 genel yolla etkileşime geçebilir: Komut dosyası 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ı bir 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 olanağı tanır. Bağlı bir 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 ızgara gibi ele alır. E-tablodan veri almak için verilerin depolandığı e-tabloya erişmeniz, e-tabloda verilerin bulunduğu aralığı 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 sakladığınız ürün adları ve ürün numaralarının bir listesinin olduğunu varsayalım.

Aşağıdaki örnekte, ürün adları ve ü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ındaki Yürütme günlüğü'nü tıklayın.

Veri yazma

Yeni bir ürün adı ve numarası gibi verileri e-tabloya 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ğerler ile 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şturmanın temellerini öğrenmek için menü kılavuzuna bakın. İletişim kutusunun içeriğini özelleştirme hakkında bilgi edinmek için HTML hizmeti kılavuzuna bakın.

E-tablodaki 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 eklentinin parçası olarak yayınlamayı planlıyorsanız, Google E-Tablolar düzenleyicisinin stili ve düzeniyle tutarlılık sağlamak için stil kılavuzundaki adımları uygulayın.

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 dayanarak otomatik olarak bir Google Formu oluşturabilir. Apps Komut Dosyası, bir kullanıcı forma yanıt verdikten sonra belirli bir işlemi gerçekleştirmek için onFormSubmit gibi tetikleyicileri 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 sunar. 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 bir hücrede yalnızca 1 ile 100 arasındaki 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) sayfalarına göz atın

Listeler

Apps Komut Dosyası, belirli bir aralıktaki verileri temsil eden grafikleri bir e-tabloya yerleştirmenize olanak tanır. Aşağıdaki örnek, A1:B15 hücrelerinde grafiklenebilir verilerinizin olduğu varsayılarak yerleştirilmiş bir çubuk grafik oluşturur:

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 göz atın.

Google E-Tablolar'da özel işlevler

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

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

Makrolar

Makrolar, Apps Komut Dosyası kodunu Google E-Tablolar kullanıcı arayüzünden çalıştırmanın başka bir yoludur. Özel işlevlerden farklı olarak bunları bir klavye kısayoluyla veya Google E-Tablolar menüsü üzerinden etkinleştirirsiniz. Daha fazla bilgi için Google E-Tablolar Makroları bölümüne bakın.

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 komut dosyası geliştirdiyseniz ve bunu tüm dünyayla paylaşmak istiyorsanız Apps Komut Dosyası, diğer kullanıcıların eklenti mağazasından yükleyebileceği bir eklenti olarak komut dosyanızı publish olanak tanır.

Tetikleyiciler

Bir Google E-Tablolar dosyasına bağlı komut dosyaları, e-tablo için 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 tetikleyicilerden yararlanabilir.

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ına olanak tanır. Bununla birlikte, 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).