Bu dosyamızda Google Drive üzerinde bulunan bir Spreadsheet içinden VBA ve Google Visualization (GVIZ) API Query ile veri almaya çalıştık.
* GVIZ Query, SQL' e çok benzer ve VBA yardımıyla Spreadsheet ten Excel e veri aktarmak çok kolaydır.
* SQL bilginiz varsa GVIZ queryde hiç zorluk çekmeyeceksiniz, SQL bilmiyorsanız neler yapılabileceği ile ilgili fikir vermesi açısından hazır query örnekleri dosyada mevcut.
* CSV veya JSON formatında (excelde çok işinize yaramasada) aktarım mümkün. Forumda soru geldiği için programa JSON seçeneği ekledim.
* Programın testi için kullanacağımız belge IBB tiyatrosunun 2018-2020 ait oyunlarına ait verileri içeriyor. Tablonun önizlemesi aşağıdadır. Sarı ile işaretli adres Google Spreadsheet in paylaşıma açık adresi. Bu adresi programımıza parametre olarak vereceğiz.
* B2 hücresine google tablomuzun web adresini yazıyoruz , yukarıda sarı işaretli kısım. (adresin tamamı değil dikkat.) Siz kendi tablonuzun adresini yazarak kendi querylerinizi çalıştırabilirsiniz. Tablonuz paylaşıma açık olmalıdır.
* Tüm tabloyu excele almak için en sağdaki "TABLOYU AKTAR" düğmesini kullanınız. Yazılan queryden bağımsız olarak tüm tabloyu getirecektir. (Yani "Select * " querysini çalıştıracaktır)
* CSV veya JSON formatlarından birini seçiyoruz. CSV kullanmanızı öneririm. JSON seçtiğinizde anlamsız, parse edilmemiş bir json metni gelecektir.
* Queryinizi yukardaki textbox içine yazıp "QUERY ÇALIŞTIR" düğmesine tıklıyorsunuz.
* GVIZ query yazarken alan isimleri yerine A,B,C,... Gibi kolon referanslarını kullanıyoruz. Tablodan KAYNAK, KATEGORI ve DOLULUK alanlarını seçmek için "Select A,B,F" query cümlesi çalıştırılmalıdır.
* Yazılan query cümlesi çalıştırılamıyorsa bir hata mesajı alırsınız. Query cümlesi kontrol edilmelidir. Referans için Query Language Reference (Version 0.7) | Charts | Google Developers
Bu örnekte "group by A" ifadesi eksik bırakıldığı için resimdeki gibi hata geldi.
* SQL diline yabancıysanız fikir vermesi açısından bir kaç basit query cümleciği koydum. HAZIR QUERY ÖRNEKLERİ' nden bunlara ulaşabilirsiniz.