Google E-Tablolar, Microsoft Excel'de yapabileceğiniz hemen hemen her şeyi yapmanızı sağlayan güçlü bir bulut tabanlı e-tablo aracıdır. Ancak Google E-Tablolar'ın gerçek gücü, beraberinde gelen Google Scripting özelliğidir.
Google Apps komut dosyası oluşturma, yalnızca Google E-Tablolar'da değil, aynı zamanda Google Dokümanlar, Gmail için de çalışan bir arka plan komut dosyası oluşturma aracıdır. , Google Analytics ve hemen hemen diğer tüm Google bulut hizmetlerinde. Bu bireysel uygulamaları otomatikleştirmenizi ve bu uygulamaların her birini birbiriyle entegre etmenizi sağlar.
Bu makalede, Google Apps komut dosyası kullanmaya nasıl başlayacağınızı, Google E-Tablolar'da hücre verilerini okumak ve yazmak için temel bir komut dosyası ve en etkili gelişmiş Google E-Tablolar oluşturmayı öğreneceksiniz. komut dosyası işlevleri.
Google Apps Komut Dosyası Nasıl Oluşturulur
Hemen şimdi Google E-Tablolar içinden ilk Google Apps komut dosyanızı oluşturmaya başlayabilirsiniz.
Bunu yapmak için menüden Araçlar'ı ve ardından Komut Dosyası Düzenleyicisi' ni seçin.
Komut dosyası düzenleyici penceresini açar ve varsayılan olarak myfunction (). Google Komut Dosyanızı burada oluşturabilir ve test edebilirsiniz.
In_content_1 tümü: [300x250] / dfp: [640x360]->Denemek için, bir hücreden veri okuyacak, üzerinde bir hesaplama yapacak ve veri miktarını başka bir hücreye çıkaracak bir Google E-Tablolar komut dosyası işlevi oluşturmayı deneyin.
Bir hücreden veri alma işlevi getRange ()ve getValue ()işlevleridir. Hücreyi satır ve sütuna göre tanımlayabilirsiniz. Dolayısıyla, satır 2 ve sütun 1'de (A sütunu) bir değeriniz varsa, komut dosyanızın ilk kısmı şöyle görünür:
function myFunction() {var sheet = SpreadsheetApp.getActiveSheet(); var row = 2; var col = 1; var data = sheet.getRange(row, col).getValue(); }
Bu, değeri verideğişkenindeki hücre. Veriler üzerinde bir hesaplama yapabilir ve ardından bu verileri başka bir hücreye yazabilirsiniz. Bu işlevin son kısmı şöyle olacaktır:
var results = data * 100;sheet.getRange(row, col+1).setValue(results); }
İşlevinizi yazmayı bitirdiğinizde kaydedilecek disk simgesini seçin.
İlk çalıştırdığınızda bunun gibi yeni bir Google E-Tablolar komut dosyası işlevi (çalıştırma simgesini seçerek), komut dosyasının Google Hesabınızda çalışması için Yetkilendirme sağlamanız gerekir.
İzinlerin devam etmesine izin ver. Komut dosyanız çalıştıktan sonra, komut dosyasının hesaplama sonuçlarını hedef hücreye yazdığını görürsünüz.
Artık temel bir Google Apps komut dosyası işlevinin nasıl yazılacağını bildiğinize göre, bazı daha gelişmiş işlevlere bakalım.
Dizileri Yüklemek için getValues Kullan
Dizileri kullanarak e-tablonuzdaki komut dosyaları ile yeni bir düzeye sahip veriler üzerinde hesaplamalar yapma konseptini kullanabilirsiniz. Google Apps komut dosyasına getValues kullanarak bir değişken yüklerseniz, değişken sayfadan birden fazla değer yükleyebilen bir dizi olur.
function myFunction() {var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange().getValues();
Veri değişkeni çok boyutludur. sayfadaki tüm verileri tutan dizi. Veriler üzerinde bir hesaplama yapmak için bir fordöngüsü kullanırsınız. For döngüsünün sayacı her satırda çalışır ve sütun, verileri çekmek istediğiniz sütuna göre sabit kalır.
Örnek e-tablonuzda üç satırda hesaplamalar yapabilirsiniz verisi aşağıdaki gibi.
for (var i = 1; i < data.length; i++) {var result = data[i][0] * 100; sheet.getRange(i+1, 2).setValue(result); } }
Bu komut dosyasını yukarıda yaptığınız gibi kaydedin ve çalıştırın. Tüm sonuçların e-tablonuzdaki 2. sütuna doldurulduğunu göreceksiniz.
Bir dizi değişkenindeki bir hücreye ve satıra başvurmanın getRange işlevinden farklı olduğunu fark edeceksiniz.
veri [i] [0], ilk boyutun satır ve ikincisinin sütun olduğu dizi boyutlarını belirtir. Her ikisi de sıfırdan başlar.
getRange (i + 1, 2), i = 1 (ikinci satır başlık olduğu için) ve 2, sonuçların depolandığı ikinci sütun.
Sonuçları Yazmak İçin appendRow Kullan
Yeni bir veri yazmak istediğiniz bir e-tablonuz varsa ne olur? yeni bir sütun yerine?
appendRowişleviyle bunu yapmak kolaydır. Bu işlev, sayfadaki mevcut verileri rahatsız etmez. Yalnızca mevcut sayfaya yeni bir satır ekler.
Örnek olarak, 1'den 10'a kadar sayılacak bir işlev yapın ve Sayaçsütun.
Bu işlev şöyle görünür:
function myFunction() {var sheet = SpreadsheetApp.getActiveSheet(); for (var i = 1; i<11; i++) { var result = i * 2; sheet.appendRow([i,result]); } }
Bu işlevi çalıştırdığınızda elde edilen sonuçlar.
RSS Akışlarını URLFetchApp ile İşleme
RSS özet akışını herhangi bir web sitesinden almak ve bir web sitesinde yakın zamanda yayınlanan her makale için bir e-tabloya satır yazmak için önceki Google E-Tablolar komut dosyası işlevini ve URLFetchAppbirleştirebilirsiniz. .
Bu temel olarak kendi RSS feed okuyucusu e-tablonuzu oluşturmak için bir DIY yöntemidir!
Bunu yapmak için komut dosyası da çok karmaşık değildir.
function myFunction() {var sheet = SpreadsheetApp.getActiveSheet(); var item, date, title, link, desc; var txt = UrlFetchApp.fetch("https://www.topsecretwriters.com/rss").getContentText(); var doc = Xml.parse(txt, false); title = doc.getElement().getElement("channel").getElement("title").getText(); var items = doc.getElement().getElement("channel").getElements("item"); // Parsing single items in the RSS Feed for (var i in items) { item = items[i]; title = item.getElement("title").getText(); link = item.getElement("link").getText(); date = item.getElement("pubDate").getText(); desc = item.getElement("description").getText(); sheet.appendRow([title,link,date,desc]); } }
Gördüğünüz gibi, Xml.parseher öğeyi RSS akışından çıkarır ve her satırı başlık, bağlantı, tarih ve açıklamaya ayırır.
appendRowişlevini kullanarak, bu öğeleri RSS beslemesindeki her bir öğe için uygun sütunlara koyabilirsiniz.
Sayfanızdaki çıktı görünecek bunun gibi bir şey:
Bunun yerine RSS feed URL'sini komut dosyasına yerleştirmek istiyorsanız, sayfanızda URL içeren bir alanınız olabilir ve ardından birden çok sayfanız olabilir - izlemek istediğiniz her web sitesi için bir tane.
Dizeleri Birleştirin ve Satır Başı Ekleme
Bazı metin düzenleme işlevleri ekleyerek RSS e-tablosunu bir adım daha ileri taşıyabilir ve ardından tüm yeni yayınların özetini içeren bir e-posta göndermek için e-posta işlevlerini kullanabilirsiniz
Bunu yapmak için, önceki bölümde oluşturduğunuz komut dosyasının altına, e-tablodaki tüm bilgileri çıkaracak bazı komut dosyaları eklemek istersiniz.
RSS verilerini e-tabloya yazmak için kullandığınız aynı "öğeler" dizisindeki tüm bilgileri bir araya getirerek konu satırını ve e-posta metin gövdesini oluşturmak istersiniz.
Bunu yapmak için, konuyu ve mesajı aşağıdaki öğeleri “öğeler” Döngü için önüne koyarak başlatın.
var subject = ‘Latest 10 articles published at mysite.com’
var message = ‘’
Ardından, döngü için “öğeler” (appendRow işlevinden hemen sonra), aşağıdaki satırı ekleyin.
message = message + title + '\n' + link + '\n' + date + '\n' + desc + '\n' + '\n \n';
“+” sembolü dört öğeyi de birleştirecek ve ardından “\ n “Her satırdan sonra bir satır başı için. Her başlık veri bloğunun sonunda, iyi biçimlendirilmiş bir e-posta gövdesi için iki satır başı döndürülmesini istersiniz.
Tüm satırlar işlendikten sonra, "gövde" değişkeni tüm e-posta mesajı dizesini tutar. Artık e-postayı göndermeye hazırsınız!
Google Apps Komut Dosyasında E-posta Nasıl Gönderilir
Google Komut Dosyanızın bir sonraki bölümü, "konu" ve "gövde" e-posta yoluyla. Bunu Google Script'te yapmak çok kolaydır.
var emailAddress = [email protected];
MailApp.sendEmail(emailAddress, subject, message);
MailApp, Google Apps komut dosyalarının içinde, göndermek veya almak için Google Hesabınızın e-posta hizmetine erişmenizi sağlayan çok uygun bir sınıftır e-postalar. Bu sayede sendEmail işlevine sahip tek satır, yalnızca e-posta adresi, konu satırı ve gövde metniyle herhangi bir e-posta gönder yapmanızı sağlar.
Ortaya çıkan e-posta bu şekilde görünecektir. .
Çıkartma yeteneğini birleştirme bir web sitesinin RSS akışını, bir Google E-Tablosunda saklayın ve URL bağlantıları dahil olarak kendinize gönderin, herhangi bir web sitesi için en son içeriği takip etmeyi çok kolay hale getirir.
Bu, gücün sadece bir örneğidir. işlemleri otomatikleştirmek ve birden çok bulut hizmetini entegre etmek için Google Apps komut dosyalarında kullanılabilir.