Google E-Tablolar ile 1. Apps Komut Dosyasının Temelleri: Makrolar & Özel İşlevler

1. Apps Komut Dosyası'na Hoş Geldiniz

Apps Komut Dosyası nedir?

Apps Komut Dosyası, Google Workspace deneyiminizi otomatikleştirme, özelleştirme ve genişletme olanağı tanıyan hızlı bir uygulama geliştirme platformudur. Apps Komut Dosyası ile Google Workspace'teki zahmetli veya karmaşık çalışmaları kolaylaştırarak zamandan ve emekten tasarruf edebilirsiniz.

Apps Komut Dosyası özellikleri aşağıdakileri içerir:

  • Apps Komut Dosyası'nın yerleşik hizmetleri, Google Workspace uygulama verilerinizi komut dosyalarıyla okumanıza, güncellemenize ve değiştirmenize olanak tanır.
  • Apps Komut Dosyası'nın tarayıcı içi kod düzenleyicisini kullanarak komut dosyası oluşturabilirsiniz. Bunun için kod geliştirme yazılımı yüklemeniz veya çalıştırmanız gerekmez.
  • Google Workspace düzenleyicileri için, kullanıcı öğelerini menü öğelerini, iletişim kutularını ve kenar çubuklarını kullanarak doğrudan bu düzenleyicilerden etkinleştirmenize olanak tanıyan kullanıcı arayüzleri tasarlayabilirsiniz.

Google E-Tablolar'ı içeren Apps Komut Dosyası'nın Temelleri codelab oynatma listesi, Apps Komut Dosyası ile ilgili temel bilgileri ve Google E-Tablolar deneyiminizi iyileştirmek için bu komut dosyasını nasıl kullanacağınızı öğretir. Bu codelab, Apps Komut Dosyası ile ilgili temel bilgileri öğretmeye odaklanmaktadır.

E-tablo hizmeti

Zamandan ve emekten tasarruf etmek için Apps Komut Dosyası'nı kullanarak Google E-Tablolar'ı genişletebilirsiniz. Apps Komut Dosyası, komut dosyalarının Google E-Tablolar dosyalarınız ve içerdikleri verilerle etkileşimde bulunmasına olanak tanıyan E-tablo hizmetini sağlar. Bu hizmeti, aşağıdaki sık kullanılan e-tablo görevlerini otomatik hale getirmek için kullanabilirsiniz:

  • Bir e-tablo oluşturun veya değiştirin.
  • Hücre verilerini, formülleri ve biçimlendirmeyi okuyup güncelleyin.
  • Özel düğmeler ve menüler oluşturun.
  • Diğer Google uygulamalarından veya üçüncü taraf kaynaklarından verileri içe ve dışa aktarın.
  • E-tablolara erişim paylaşma ve e-tablolara erişimi kontrol etme.

Neler öğreneceksiniz?

Bu oynatma listesi, Apps Komut Dosyası'nı Google E-Tablolar ile kullanmaya başlamak için ihtiyaç duyacağınız tüm konuları kapsar:

  1. Makrolar ve Özel İşlevler
  2. E-tablolar, E-Tablolar ve Aralıklar
  3. Verilerle çalışma
  4. Veri biçimlendirme
  5. Slaytlar'da verileri listeleme ve sunma

Bu oynatma listesindeki codelab'lerin sırayla okunması amaçlanmıştır. Bu nedenle, en iyi öğrenme deneyimini elde etmek için bu listeyle başlayın ve işlemleri sırayla tamamlayın.

Bu codelab'in içerikleri hakkında daha fazla bilgi edinmek için sonraki bölüme geçin.

2. Giriş

Bu oynatma listesinin ilk codelab'ine hoş geldiniz. Bu codelab'de, Apps Komut Dosyası'nı Google E-Tablolar ile kullanmayla ilgili temel bilgileri öğreneceksiniz. Bu codelab'de özellikle iki temel kavrama odaklanılır: makrolar ve özel işlevler.

Makro, Google E-Tablolar'da kayıtlı bir dizi işlemdir. Makroyu kaydettikten sonra, menü öğesi veya kısayol tuşuyla bu işlemleri daha sonra tekrarlamak için etkinleştirebilirsiniz. Hem Google E-Tablolar'da hem de Apps Komut Dosyası kod düzenleyicide kendi makrolarınızı oluşturup güncelleyebilirsiniz.

Apps Komut Dosyası kod düzenleyicide özel işlevler de oluşturabilirsiniz. E-Tablolar'ın sunduğu yerleşik işlevler (SUM veya AVERAGE gibi) gibi, Apps Komut Dosyası'nı kullanarak basit ve niş işlemler (dönüşümler veya dize birleştirme gibi) için kendi özel işlevlerinizi yazabilirsiniz. Oluşturulduktan sonra bu işlevleri E-Tablolar'da yerleşik işlev olarak çağırabilirsiniz. Özel işlevler, yazdığınız hücre formüllerinde gerektiğinde kullanılabilir ve diğer işlevlerle birleştirilebilir.

Bu codelab'in içerdiği kavramları ve gereksinimleri öğrenmek için aşağıdaki bölümü okuyun.

Neler öğreneceksiniz?

  • Google E-Tablolar için komut dosyası nasıl oluşturulur?
  • Apps Komut Dosyası düzenleyicisinde gezinme.
  • Makrolar nasıl oluşturulur ve güncellenir?
  • İlk E-Tablolar özel işlevinizi oluşturma.

Gerekenler

Girişleri tamamladınız. Makrolarla çalışmaya başlamak için bir sonraki bölüme gidin.

3. E-Tablolar'da makro oluşturma

Genellikle, e-tablolar üzerinde çalışırken, hücre değerlerini kopyalamak, biçimlendirme, formüller oluşturmak gibi tekrar eden işlemlerden oluşan bir döngüye geçebilirsiniz. Bu döngü yorucu olabilir ve hatalara yol açabilir. Google E-Tablolar, yinelenen işlemleri otomatik hale getirmek için makrolar sağlar. Makrolar, bir sayfada bir dizi işlem kaydetmenize olanak sağlar. Kayıtlı bir makroyla, aynı işlemleri basit bir kısayol tuşuna basarak e-tablonun başka bir yerinde tekrarlayabilirsiniz.

Bu bölümde, E-Tablolar'da nasıl makro oluşturacağınızı öğreneceksiniz. Sonraki bölümde, makroların Apps Komut Dosyası kullanılarak nasıl oluşturulduğunu göreceksiniz.

Başlamadan önce

Devam etmeden önce bazı verilerin bulunduğu bir e-tabloya ihtiyacınız var. Sizin için bir resim URL'si sağladık: Veri sayfasını kopyalamak için bu bağlantıyı tıklayın ve ardından Kopya oluştur'u tıklayın.

5b8aded1bb349ecf.png

Kullanabileceğiniz örnek e-tablonun bir kopyası Google Drive klasörünüze yerleştirilir ve "En Popüler 10 Yüksek Brüt Film"in 2018 Kopyası olarak adlandırılır."

Makro oluşturma

Artık üzerinde çalışacağınız bir e-tablonuz olduğuna göre Google E-Tablolar'da bir makro kaydedebilirsiniz. Bu örnekte, verileriniz için bir başlık satırı biçimlendiren bir makro oluşturacaksınız. Aşağıdaki adımları uygulamanız yeterlidir:

  1. İmleci satıra yerleştirmek için A1 hücresini tıklayın. Bu, başlık satırınızdır.
  2. Menüde Uzantılar > Makrolar > Makroları Kaydet'i seçin.

Kayda başladığınızda Google E-Tablolar, e-tabloda gerçekleştirdiğiniz her işlemi hatırlar: hücreleri vurgulama, veri ekleme, farklı sayfalara geçme, biçimlendirme vb. Bu işlemler "script&#39" haline gelir. Makroyu daha sonra kaydedip etkinleştirdiğinizde bu işlemler tekrarlanır.

  1. Makro iletişim kutusunda Göreli referans'ı seçin.

c59f2f12317352d2.gif

  1. 1. satırı seçin.

1d782ee30c66a02b.gif

  1. Üst satırdaki Dolgu Rengini beyazdan koyu magenta 3'e renklendirin.

f7e7abaf76e338c7.png

  1. Üst satırdaki Metin Rengi'ni siyahtan beyaz'a çevirin.

d5e630acbe83148.png

  1. Metni kalınlaştırmak için Ctrl+B (veya macOS'te Cmd+B) tuşlarına basın.
  2. Üst satırı dondurmak için > Dondur > 1 satırı görüntüle'yi seçin.

97cb244ffebe8953.png

  1. Makro iletişim kutusunda Kaydet'i tıklayın. Yeni bir iletişim kutusu makroyu adlandırmanızı ister. "Başlık" adını girip Kaydet'i tıklayın.

b4610a54340da518.gif

E-Tablolar kullanıcı arayüzünü kullanarak başlıkları biçimlendirmek için özel bir makro geliştirdiniz.

4ed7fbed18ea3681.png

Makronuzu etkinleştirme

Aşağıdaki talimatları uygulayarak yeni makronuzu E-Tablolar'da uygulayabilirsiniz:

  1. Sayfa oluşturmak için Sayfa Ekle'yi 9c9b0c19bf317e7f.png tıklayın.

927c012b4e11475b.png

  1. Yeni sayfada A1:C2 öğesine metin ekleyin. Aşağıdaki örnek girişleri takip edebilirsiniz:

c3aadaef52a609bf.png

  1. İlk satırı vurgulayın.

cfe36fcf833d0bd7.gif

  1. Makroyu seçili alana uygulamak için Uzantılar> Makrolar> Başlık'ı tıklayın.
  2. Ekrandaki talimatları uygulayarak makroyu yetkilendirin.
  1. Makroyu tekrar çalıştırmak için 4. Adım'ı tekrarlayın (yetkilendirme ilk çalıştırmayı durdurur).

Tebrikler, E-Tablolar'da makroları nasıl uygulayacağınızı öğrendiniz. E-tablonuz aşağıdaki gibi görünmelidir:

7c7130a4a697bd92.png

Makrolar, e-tabloları verimli bir şekilde oluşturmanıza olanak sağlar. Bu codelab'in bir sonraki bölümünde, makrolarınızı nasıl daha da güçlü hale getireceğinizi öğreneceksiniz. İşin sırrı: Bir makro kaydettiğinizde yaptığınız işlem Apps Komut Dosyası kodu yazmaktır. E-Tablolar, perde arkasında makro işlemlerle eşleşen kodu oluşturur. Bir sonraki bölümde, Apps Komut Dosyası'nın tarayıcı düzenleyicisini kullanarak kodu doğrudan nasıl değiştireceğinizi öğreneceksiniz.

4. Komut dosyası düzenleyicisindeki makrolar

Bir makro oluşturduğunuzda, Google E-Tablolar, işlemlerinizi Apps Komut Dosyası işlevi olarak kaydeder. Makroyu etkinleştirdiğinizde, Google E-Tablolar, bu işlemleri aynı sırayla uygulamak için Apps Komut Dosyası işlevini çağırır.

Komut dosyası düzenleyicisi

Bir makro oluşturduğunuza göre şimdi makroya bakabilirsiniz. Makro komut dosyasını görüntülemek için Komut Dosyası > Apps Komut Dosyası'nı tıklayarak Apps Komut Dosyası için tarayıcı kodu düzenleyiciyi açın.

Komut dosyası düzenleyicisi, Apps Komut Dosyası'nda kod yazmanıza ve bu komut dosyalarını Google sunucularında çalıştırmanıza olanak tanır.

macro.gs Analizi

Mevcut komut dosyasını inceleyin. E-Tablolar, Header komut dosyasını kaydettiğinizde macros.gs komut dosyasını oluşturdu. Bu dosya, Header adında karşılık gelen bir Apps Komut Dosyası işleviyle dolduruldu. Header makrosunu etkinleştirdiğinizde E-Tablolar bu işlevi çalıştırır.

Apps Komut Dosyası'ndaki makro işlevinizin yapısı hakkında bilgi edinmek için aşağıdaki resme bakın. Adımları farklı bir sırada kaydettiyseniz veya kayıt sırasında e-tabloyu tıkladıysanız kodunuz bundan biraz farklı görünebilir.

5d653a69a0897adf.png

İlk satır, yetkilendirmeyi etkileyen bir ek açıklama yorumudur:

/** @OnlyCurrentDoc */

Çoğu komut dosyası, çalıştırılmadan önce kullanıcıdan bazı izinler ister. Bu izinler, kullanıcının komut dosyasının yapmasına izin verdiği şeyi kontrol eder. Bir komut dosyası projesinde @OnlyCurrentDoc yorumu mevcutsa Apps Komut Dosyası yalnızca geçerli e-tabloya erişmek ve bu e-tabloyu güncellemek için izin ister. Bu yorum olmadan Apps Komut Dosyası, kullanıcının tüm e-tablolarına erişmek ve bunları güncellemek için izin ister. Yalnızca tek bir dosyayla çalışırken bu ek açıklamayı eklemek her zaman en iyi uygulamadır. Makro kaydedici bu yorumu sizin için otomatik olarak ekler.

Apps Komut Dosyası'nın makronuzun talimatlarını nasıl temsil ettiğini anlamak için işleve bakabilirsiniz:

function Header(){
  var spreadsheet = SpreadsheetApp.getActive();
  var sheet = spreadsheet.getActiveSheet();
  sheet.getRange(
    spreadsheet.getCurrentCell().getRow(),
    1, 1, sheet.getMaxColumns()).activate();
  spreadsheet.getActiveRangeList().setBackground('#4c1130')
  .setFontColor('#ffffff')
  .setFontWeight('bold');
  spreadsheet.getActiveSheet().setFrozenRows(1);
};

Bu kod, Header makrosunu etkinleştirdiğinizde çalışır. function etiketinden sonra Header() etiketi, işlevin adını ve parametrelerini tanımlar. Header() öğesinin, Apps Komut Dosyası'ndaki makro işlevleri olarak hiçbir parametreye ihtiyaç duymadığını ve giriş gerektirmediğini unutmayın. Kaşlı ayraçlar, Apps Komut Dosyası'ndaki bir işlevin gövdesini her zaman kapsar.

Bu oynatma listesindeki daha sonra codelab'ler, makronun oluşturulmasında kullanılan sınıfları ve kavramları açıklar. Şu anda, aşağıdaki kod açıklamalarını inceleyerek bileşenleri ve makronuzu oluşturmadaki rolleri hakkında genel bir fikir edinebilirsiniz. İlk satırı göz önünde bulundurun:

var spreadsheet = SpreadsheetApp.getActive();

Burada getActive(), E-Tablolar'daki geçerli etkin e-tablo dosyasını temsil eden bir nesne döndürür ve bunu yeni değişken spreadsheet olarak ayarlar.

var sheet = spreadsheet.getActiveSheet();
sheet.getRange(
    spreadsheet.getCurrentCell().getRow(),
    1, 1, sheet.getMaxColumns()).activate();

Bu satırlar, ilk satırı vurgulamak için yapılan işleme karşılık gelir. Buna etkinleştirme adı verilir. İlk satır geçerli sayfayı sheet değişkeninde depolar, ikinci satır ise getRange() yöntemini kullanarak ilk satırın tamamını alır ve ardından etkinleştirmek için activate() özelliğini çağırır. İlk satır, belirli satır ve sütun numaraları kullanılarak belirtilir. spreadsheet.getCurrentCell().getRow() çağrısı geçerli satırın sayısını, sheet.getMaxColumns() ise sayfadaki maksimum sütun sayısını döndürür.

spreadsheet.getActiveRangeList().setBackground('#4c1130')
.setFontColor('#ffffff')
.setFontWeight('bold');

Bu kod parçası daha karmaşık hale gelir. Kod, spreadsheet ile yöntemleri verimli bir şekilde çağırmak için kodun spreadsheet yöntemine üç yöntemi yerleştirerek kodun bu spreadsheet yönteminde gereksiz yere birden çok kez çağrı yapmasını önler. Apps Komut Dosyası'nı kullanarak daha fazla kod yazdıkça, bir sınıfta birden çok yöntem (yönlendirme olarak da bilinir) çağırma kuralı hakkında daha fazla bilgi sahibi olursunuz. Şimdilik, kod bloğundaki her yöntemle ilgili kısa açıklamalar için aşağıdakileri okuyabilirsiniz:

Son olarak, makronun ilk satırını dondurur:

spreadsheet.getActiveSheet().setFrozenRows(1);

Makronuzu kaydederken oluşturduğunuz komut dosyası da budur. Yukarıda bahsedilen tanıdık olmayan terimler veya yöntemler için endişelenmenize gerek yoktur. Açıklama, Apps Komut Dosyası'nın tipik bir makro işlevinde odaklandığı bazı fikirler ve gelecekteki codelab'lerin dikkate aldığı konular hakkında düşünmenize yardımcı olur.

Sonraki bölümde, makroları daha da kişiselleştirmek için komut dosyası düzenleyiciyi nasıl kullanabileceğinizi göstermek üzere Header() işlevinin kodu üzerinde değişiklik yapmaya odaklanılmıştır.

Apps Komut Dosyası ile makroları özelleştirme

Apps Komut Dosyası düzenleyicisi, Google E-Tablolar'da daha önce oluşturduğunuz makroyu gösterir. İşlev gövdesinin içeriğini ayarlayarak, makronuzun talimatlarını farklı şekilde veya ek işlemler yapacak şekilde özelleştirebilirsiniz. Aşağıdaki alıştırmalar, makroları komut dosyası düzenleyicisiyle değiştirmenin çeşitli yollarını göstermektedir.

Etkilenen hücreleri değiştirme

Makronuzu tüm satır yerine ilk satırın yalnızca ilk 10 sütununu etkileyecek şekilde değiştirmek istediğinizi varsayalım. Makroyu silip yeniden kaydedebilirsiniz. Ancak Apps Komut Dosyası düzenleyicisini kullanarak bu değişiklikleri doğrudan yapabilirsiniz. Bunu yapmanın bir yolu şöyledir:

  1. Komut dosyası düzenleyicisinde sheet.getMaxColumns() öğesini 10 ile değiştirin. Bu düzenleme, makronun e-tabloda etkilendiği hücre aralığını değiştirir.
/** @OnlyCurrentDoc */

function Header(){
  var spreadsheet = SpreadsheetApp.getActive();
  var sheet = spreadsheet.getActiveSheet();
  sheet.getRange(
    spreadsheet.getCurrentCell().getRow(),
    1, 1, 10).activate();
    /* sheet.getMaxColumns() replaced with 10.*/
  spreadsheet.getActiveRangeList().setBackground('#4c1130')
  .setFontColor('#ffffff')
  .setFontWeight('bold');
  spreadsheet.getActiveSheet().setFrozenRows(1);
}
  1. Komut dosyanızı kaydetmek için Kaydet'i kaydet tıklayın.
  2. Projenizi yeniden adlandırmak için yeni proje adı olarak Makrolar ve Özel İşlevler girin ve Yeniden adlandır'ı tıklayın.
  3. E-tablo oluşturmak için E-Tablolar'da Sayfa Ekle'yi 9c9b0c19bf317e7f.png tıklayın.

927c012b4e11475b.png

  1. Komut dosyası düzenleyicisinde, işlevler listesinden Header'yi seçin ve Çalıştır'ı tıklayın.

Yeni sayfanızda aşağıdaki sonucu görmeniz gerekir:

8a58ba02535b2b9c.png

Etkin veya hedef aralığı değiştirdiğinizde makronuz artık ilk satırın yalnızca bir kısmını etkilemektedir. Birçok Apps Komut Dosyası yöntemi, hangi hücrelerde işlem yapılacağını belirtmek için parametre olarak bir aralık veya A1 gösterimi alır.

Şimdi de makro renklerinizi özelleştirmeyle ilgili bilgi edinelim.

Makronuzun renklerini değiştirme

Apps Komut Dosyası, E-Tablolar'da makroların veya diğer öğelerin renk şemasını tasarlamanıza yardımcı olmak için bir aralığın dolgusunu veya metin rengini değiştirebilir. Makronuzun renklerini nasıl özelleştirebileceğinizi öğrenmek için aşağıdaki talimatları uygulayın.

Bu talimatlar, makronuzun arka plan rengini değiştirmeye odaklanır:

  1. E-Tablolar'da, orijinal verileri içeren sayfaya (Sayfa 1) geri dönün.
  2. Vurgulamak için ilk satırı tıklayın.
  3. Komut dosyası düzenleyicisinde, #4c1130 arka plan rengini #afeeee ile değiştirin. Bu değerler, onaltılık üçlü gösterimi kullanılarak farklı renkleri temsil eder.
/** @OnlyCurrentDoc */

function Header(){
  var spreadsheet = SpreadsheetApp.getActive();
  var sheet = spreadsheet.getActiveSheet();
  sheet.getRange(
    spreadsheet.getCurrentCell().getRow(),
    1, 1, 10).activate();
  spreadsheet.getActiveRangeList().setBackground('#afeeee')
    /* #4c1130 replaced with #afeeee.*/
  .setFontColor('#ffffff')
  .setFontWeight('bold');
  spreadsheet.getActiveSheet().setFrozenRows(1);
}
  1. Komut dosyanızı kaydetmek için Kaydet'i kaydet tıklayın.
  2. İşlev listesinden Header'yi seçin ve Çalıştır'ı tıklayın.

E-Tablolar'da, ilk satırdaki ilk 10 sütunun arka plan dolgusu özel bir turkuaz renkle yeniden değişir:

bbd26f7c8e35039.png

setBackground(color) parametrelerindeki onaltılık renk gösterimini #4c1130 (koyu magenta 3) yerine #afeeee (palet turkuaz, E-Tablolar'ın varsayılan renk menüsü olarak erişilemez) seçeneği olarak değiştirerek makronuzun arka plan renginin renk özelliğini değiştirirsiniz.

Makronuzun ayarladığı arka plan rengini değiştirdiniz. Metin rengini de değiştirmek isterseniz ikinci renk kodunu değiştirin.

  1. E-Tablolar'da, ilk satırı tıklayarak hâlâ vurgulanmış olduğundan emin olun.
  2. Komut dosyası düzenleyicisinde, #ffffff yazı tipi rengini #191970 ile değiştirin. Bu, makronun lacivert yazı tipi rengini belirlemesine neden olur.
/** @OnlyCurrentDoc */

function Header(){
  var spreadsheet = SpreadsheetApp.getActive();
  var sheet = spreadsheet.getActiveSheet();
  sheet.getRange(
    spreadsheet.getCurrentCell().getRow(),
    1, 1, 10).activate();
  spreadsheet.getActiveRangeList().setBackground('#afeeee')
  .setFontColor('#191970')/* #ffffff replaced with #191970.*/
  .setFontWeight('bold');
  spreadsheet.getActiveSheet().setFrozenRows(1);
}
  1. Komut dosyanızı kaydetmek için Kaydet'i kaydet tıklayın.
  2. İşlev listesinden Header'yi seçin ve Çalıştır'ı tıklayın.

Başlık satırının metin renginin artık mavi olan rengini görmek için E-Tablolar'a dönün.

2eaf2fb4879e1b36.png

Makroların aslında Apps Komut Dosyası kodu olarak kaydedilen E-Tablolar işlemleri olduğunu gördünüz. Bir sonraki bölümde, Apps Komut Dosyası'nın Google E-Tablolar'la çalışmanıza yardımcı olabileceği başka bir yöntemi görüntüleyebilirsiniz: özel işlevler.

5. İlk komut dosyanızı kodlayın: Özel işlevler

Çoğu e-tablo uygulamasında olduğu gibi, Google E-Tablolar'da da =SUM() gibi e-tablo verilerinde hızlı hesaplamalar sağlayan yerleşik formül işlevleri bulunur. Özel işlevler, Apps Komut Dosyası'nı kullanarak belirttiğiniz işlevlerdir. Tanımladığınız özel işlevleri, yerleşik işlevlerde olduğu gibi e-tablonuzda herhangi bir yerde kullanabilirsiniz.

Bu bölümde, Apps Komut Dosyası'nda parasal dönüşüm sağlayan özel bir işlevin nasıl oluşturulacağı gösterilmektedir.

Komut dosyası dosyası oluşturun

Makrolar bölümündeki e-tablo ve komut dosyası projesini kullanarak yeni bir komut dosyasının nasıl oluşturulacağını öğrenmek için bu talimatları uygulayın (böylece ilk özel işlevinizi oluşturmak için kullanabilirsiniz):

  1. Bir Apps Komut Dosyası oluşturmak için komut dosyası düzenleyicisine geri dönün.
  2. Dosyalar'ın yanında, Dosya ekle dosya ekle > Komut Dosyası'nı tıklayın.
  3. Yeni komut dosyası dosyasına customFunctions ad verin ve Enter tuşuna basın. (Apps Komut Dosyası, komut dosyası dosyası adına otomatik olarak bir .gs uzantısı ekler.)

Düzenleyicide customFunctions.gs adlı yeni bir sekme açılır.

Özel işlevler için özel olarak oluşturduğunuz komut dosyasını artık kodla doldurabilirsiniz.

ABD dolarını İsviçre frangına dönüştür

"İlk 10 En Yüksek Brüt Film" 2018' verilerini yalnızca ABD doları cinsinden değil, aynı zamanda İsviçre frangı olarak tüm dünyada brüt değerleri gösterecek şekilde değiştirmek istediğinizi varsayalım. Özel işlevlerle bunu kolayca yapabilirsiniz. Aşağıdaki alıştırmada, dolar değerlerinizi matematiksel olarak francize dönüştürmek için özel bir işlevin nasıl oluşturulacağı gösterilmektedir.

İlk özel işlevinizi yazmadan önce, veri kümenizi işlevin doğru bir çıktı gösterecek şekilde değiştirin. Bunun için:

  1. E-Tablolar'da H sütununu sağ tıklayın.
  2. Açılan menüde Sağa 1 ekle'yi tıklayın.

fc1421cb1c456e52.gif

  1. I1 hücresinde "Dünya Genelinde Brüt (İsviçre frangı)" sütununu etiketleyin.

Artık dönüşüm özel fonksiyonunuzun sonuçlarını depolayabilecek bir sütununuz var. Ardından, ilk özel işlevinizi oluşturmak için komut dosyası düzenleyiciyi kullanabilirsiniz.

  1. customFunctions.gs için myFunction() kodunu aşağıdaki kodla değiştirin:
/**
 * Converts US dollars to Swiss francs.
 *
 * @param {number} dollars The total number of dollars.
 * @return {number} swissFrancs The converted total of Swiss francs.
 * @customfunction
 */
function USDTOCHF(dollars){
  var swissFrancs = dollars * .99; 
  return swissFrancs;
}

Bu, ABD dolarını İsviçre frangına dönüştürecek olan koddur. Aşağıdaki talimatları deneyin ve e-tablolarda nasıl özel işlev çalıştırabileceğinizi görün.

  1. Komut dosyanızı kaydetmek için Kaydet'i kaydet tıklayın.
  2. E-Tablolar'da I2 hücresini seçin.
  3. İşlev çubuğuna =USDTOCHF(H2) değerini girin.

Formülü sütundaki hücrelerin geri kalanına uygulamak için:

  1. İmlecinizi I2 hücresinin sağ alt köşesine getirin ve küçük mavi kutuyu seçin (mavi kutunun üzerine geldiğinizde imleciniz 9c9b0c19bf317e7f.png biçimine dönüştürülmelidir).
  2. I3:I11 aralığını vurgulamak için mavi kutuyu aşağı sürükleyin.

3cf46560d6cea0de.gif

I. sütunda, H sütununda ABD doları değerlerinin İsviçre frangı dönüşümleri listelenir.

7fc06b3d7e3e2a9.png

Tebrikler, ilk özel işlevinizi oluşturdunuz. Sonraki bölümde, USDTOCHF()'i oluşturan kod açıklanmaktadır.

USDTOCHF() Analizi

İlk yorumlarda kodun amacı ayrıntılı şekilde açıklanmaktadır:

/**
 * Converts US dollars to Swiss francs.
 *
 * @param {number} dollars The total number of dollars.
 * @return {number} swissFrancs The provided value in Swiss francs.
 * @customfunction
 */

Fonksiyonlar ne işe yaradığını açıklamak için programlamada buna benzer yorum engellemeleri sık kullanılır.

Bu yorumda, iki parça tanımlayabilirsiniz: İşlev açıklaması (para birimini para birimine dönüştürmek için) ve işlevin parametrelerini ve dönüş türünü açıklayan ek açıklamalar.

Ek açıklamalarla Apps Komut Dosyası, kodunuz için otomatik tamamlama ipuçları belge oluşturmanıza ve oluşturmanıza yardımcı olmak amacıyla JSDoc'tan yararlanır. USDTOCHF() uygulamasında kullanılan her ek açıklamanın Apps Komut Dosyası geliştirmenize nasıl yardımcı olduğunu aşağıda görebilirsiniz:

  • @param: İşleve iletilen her parametreyi tanımlamak için @param ek açıklamasını kullanabilirsiniz.
  • @return: İşlevin ne döndürdüğünü açıklamak için @return ek açıklamasını kullanabilirsiniz.
  • @customfunction: Özel işlevlere ait doküman yorumlarına her zaman @customfunction eklemeniz gerekir. Bu ek açıklama, E-Tablolar'a, aşağıda görüldüğü gibi bir hücreye bir işlev adı girdiğinizde E-Tablolar'ın yerleşik işlevleri otomatik olarak tamamlaması gibi özel işlevinizi otomatik olarak tamamlaması gerektiğini bildirir:

d8680ab6efae97ac.gif

Otomatik tamamlama pop-up'ında görünen metnin, yorum bloğuna yerleştirdiğiniz açıklama metniyle tam olarak eşleştiğini unutmayın. Oluşturduğunuz açıklamaların iyi yazıldığından ve eksiksiz olduğundan emin olarak özel işlevlerinizin kullanımını kolaylaştırabilirsiniz.

Daha sonra, USDTOCHF() işlevindeki koda odaklanın:

function USDTOCHF(dollars){
  var swissFrancs = dollars * .99; 
  return swissFrancs;
}

Daha önce de belirtildiği gibi USDTOCHF(), sayısal değişkeni dolar, sabit bir döviz kuru ile çarpar ve swissFrancs sayısal değişkeninde İsviçre frangına dönüştürülen bir değer döndürür. Giriş parametresi, özel işlev bir hücreye eklenirken, belirtilen hücrede bulunan değerdir. Bu örnekte, girilen dolar tutarları H sütunundan gelmektedir. swissFrancs değeri, fonksiyonun hücresine yerleştirilir (bu örnekte I. sütun).

Özel işlevler, bir sonraki bölümde göreceğiniz gibi sayısal veya dize değerleriyle çalışabilir.

Dize ön ekini birleştirme

USDTOCHF() işlevinin sayısal çıkışının İsviçre frangı ön ekini (CHF) içermesini istediğinizi varsayalım. Bunu, aşağıdaki talimatlarda gösterildiği gibi birbirine bağlama operatörünü (+), kullanarak Apps Komut Dosyası ile yapabilirsiniz:

  1. Komut dosyası düzenleyicisinde, @return ek açıklamasını sayı yerine dize döndürecek şekilde güncelleyin.
  2. return swissFrancs yerine return 'CHF' + swissFrancs yazın.

+ operatörü, swissFrancs değerini içeren değerin önüne CHF dizesini ekler. Kodunuz artık şu şekilde görünmelidir:

/**
 * Converts US dollars to Swiss francs.
 *
 * @param {number} dollars The total number of dollars.
 * @return {string} swissFrancs The provided value in Swiss francs.
 * @customfunction
 */
function USDTOCHF(dollars){
  var swissFrancs = dollars * .99;
  return 'CHF' + swissFrancs;
}
  1. Komut dosyanızı kaydetmek için Kaydet'i kaydet tıklayın.

İsviçre Frangı dizesi artık I sütunundaki değerleri içeriyor:

20e4bfb7f0a994ea.png

Özel işleviniz artık yalnızca ABD dolarını İsviçre frangına dönüştürüyor, ayrıca bir para birimi önekiyle para birimini çıkarıyor.

Gelişmiş: Harici verileri alma

Bu, temel özel işlevler için iyi bir başlangıçtır ancak bu örnekte, İsviçre frangı cinsinden döviz kurunun sabit olduğu varsayılmıştır. Bunun yerine, geçerli döviz kurunu kullanmak istediğinizi varsayalım. Böylece, sayfa yeniden yüklendiğinde değerler, geçerli dönüşümü temsil edecek şekilde yeniden hesaplanır mı? Bunun için mevcut döviz kurunun ne olduğunu öğrenmeniz gerekir. Bu, Google E-Tablolar'da mevcut olmayan bir bilgidir, ancak bunu öğrenmek için Apps Komut Dosyası'nı kullanabilirsiniz.

İsviçre frangının geçerli ABD doları dönüşüm oranını elde etmek için aşağıdaki gibi bir kod kullanabilirsiniz:

function USDTOCHF(dollars){
  // Gets a cache that is common to all users of the script.
  var cache = CacheService.getScriptCache();

  // Accesses the memory location (rates.CHF) of the script cache.
  var rate = cache.get('rates.CHF');

  // If a cache miss occurs, the program fetches the current
  // CHF rate from an API and stores the rate in the cache
  // for later convenience.
  if (!rate) {
    var response =
UrlFetchApp.fetch('https://api.exchangeratesapi.io/latest?base=USD');
    var result = JSON.parse(response.getContentText());
    rate = result.rates.CHF;
    cache.put('rates.CHF', rate);
  }
  // Converts dollars to CHF according to the latest rate.
  var swissFrancs = dollars * rate;
  // Returns the CHF value.
  return 'CHF' + swissFrancs;
}

Bu kod, üçüncü taraf döviz kuru API'sini kullanarak finansal bilgi sunucusundan mevcut döviz kurunu getirir. Bu işlem, UrlFetchApp ve CacheService gibi Apps Komut Dosyası hizmetleri kullanılarak yapılır. Bu gelişmiş kavramlar, bu codelab'in kapsamı dışındadır ancak Google E-Tablolar'da karmaşık görevleri otomatikleştirmek için Apps Komut Dosyası'nın çok yönlü olduğunu görmeye başlayabilirsiniz.

Özel işlev yönergeleri

Tebrikler, özel işlevler için alıştırmaları tamamladınız. Projelerinizde özel işlevler kullanırken belirli kısıtlamalara sahip olduklarını anlamanız önemlidir. Aşağıdaki listede, Google E-Tablolar'daki Özel İşlevler kılavuzunda ayrıntılı olarak açıklanan sınırlamalar özetlenmektedir:

  • Kullanıcı yetkilendirmesi gerektiren özel işlevler oluşturmayın. Bunun yerine, örnek veri hesaplamaları, metin düzenleme gibi basit görevleri yerine getirmek için özel işlevlerinizi oluşturun. Apps Komut Dosyası hizmetlerini kullanma başlıklı makaleye gidin.
  • Özel bir işlevi başka bir yerleşik işlevle aynı şekilde adlandırmayın veya adı alt çizgiyle bitirmeyin. Adlandırma kurallarını inceleyin.
  • Değişken bağımsız değişkenlerini özel işlevlere iletmeyin. Belirli (belirlenmiş) değerleri yalnızca özel işlevlere bağımsız değişken olarak aktarabilirsiniz. =RAND() bağımsız değişkeni gibi değişken bağımsız değişkenlerinin iletilmesi, özel işlevi bozacaktır. Bağımsız Değişken Kuralları'na bakın.
  • Tamamlanması 30 saniyeden uzun süren işlevler oluşturmayın. Daha uzun sürerse bir işlev kodu basit ve kapsamı sınırlı tutun. Özel işlevlerde yapılan hesaplamaların mümkün olduğunca basit tutulması önerilir. İade değerleri yönergelerini görüntüleyin.

Artık makrolarla çalışmak ve özel işlevler oluşturmak için komut dosyası düzenleyiciyi kullanarak e-tablolarınızı iyileştirebilirsiniz. Bir sonraki bölümde, öğrendiklerinizi ve komut dosyası oluşturma becerilerinizi geliştirmek için neler yapabileceğinizi inceleyebilirsiniz.

6. Sonuç

Google E-Tablolar ile Apps Komut Dosyası'nın Temelleri'nin ilk codelab'ini tamamladınız. E-Tablolar makroları ve özel işlevleri oluşturup düzenleyerek temel Apps Komut Dosyası kavramlarını öğrendiniz. Bir sonraki codelab'de Apps Komut Dosyası ile ilgili daha fazla bilgi edinebilirsiniz.

Bu codelab'i faydalı buldunuz mu?

Evet Hayır

Ele aldığımız konular

  • Temel Apps Komut Dosyası kavramları.
  • Komut dosyası düzenleyicisinde gezinme.
  • E-Tablolar makroları oluşturma ve güncelleme.
  • Google E-Tablolar için özel işlevler oluşturma.

Sonraki adımlar

Bu oynatma listesindeki bir sonraki codelab'de, Apps Komut Dosyası E-tablo hizmetinin temel sınıfları ve terminolojisi açıklanmaktadır. Bu hizmet, Apps Komut Dosyası'nı kullanarak Google E-Tablolar'daki verilerin değerlerini ve sunumunu hassas bir şekilde kontrol etmenize olanak tanır.

Bir sonraki codelab'i E-tablolar, E-Tablolar ve Aralıklar'da bulabilirsiniz.