Blog
VBA ve Power Automate For Desktop ile Excel Power Query Sorgularını Yenileme
- 28 Şubat 2022
- Yayınlayan: svahabi
- Kategori: Blog Yazıları
Geçen yılın sonunda, Excel VBA’nın Power Query desteğinde iki yeni, oldukça küçük iyileştirme yapıldı. Artık tek tek Power Query sorgularını yenileyebilir ve silebilirsiniz. Bu yöntemler, Excel’in Insider derlemesini kullanan herkes tarafından kullanılabilir. Kendi başına özellikle ilginç sayılmayabilir ama bu konuyu tekrar düşünmemizi sağladı. Power Automate Desktop, günlük görevleri otomatikleştirmeyi çok kolaylaştırır ve Excel için mükemmel bir desteğe sahiptir – Excel VBA makrolarını çalıştırma yeteneği de dahil olmak üzere.
Excel Power Query sorgularınızı otomatik olarak yenilemek için Power Automate for Desktop kullanabilir misiniz?
Evet yapabilirsiniz! İşte size basit bir örnek verelim. Tek satır ve sütunlu bir tabloda geçerli tarih ve saati döndüren GetTheDateAndTime adlı bir Power Query sorgusu oluşturalım. İşte sorgunun M kodu:
1 #table(type table [RunDate=datetime], {{DateTime.FixedLocalNow()}})
Ardından, daha önce bahsettiğimiz yeni yenileme yöntemini kullanarak bu Power Query sorgusunu yenilemek için RunPQQuery adlı bir VBA makrosu oluşturalım:
1 Sub RunPQQuery()
2 ActiveWorkbook.Queries("GetTheDateAndTime").Refresh
3 End Sub
Daha sonra Excel çalışma kitabını bir .xlsm dosyası olarak kaydedelim.
Sonrasında Power Automate for Desktop’ı açalım ve Excel’i açmak, makroyu çalıştırmak ve Excel’i yeniden kapatmak için buradaki yönergeleri izleyerek yeni bir masaüstü akışı oluşturalım. Excel’i makroyu çalıştırdıktan hemen sonra kapatırsak, Power Query sorgusu bitmeden Excel’i kapatacağına dikkatinizi çekeriz, bu yüzden makroyu çalıştırdıktan sonra bitirmesine zaman vermek için on saniyelik bir gecikme ekleyelim. Bu sorunu çözmenin muhtemelen daha karmaşık yolları vardır: örneğin, sorgunun döndürdüğü tablodaki değişeceğini bildiğiniz bir hücrenin değerini okuyabilir, ardından sorgu döngüsünü okuduğunuz değer değişene kadar çalıştırabilirsiniz. İşte masaüstü akışımız:
Sonunda bu masaüstü akışını çalıştırmak için bir bulut akışı oluşturalım:
Ve evet bu kadar! Çok basit bir örnek verdik ama uygulaması kolay.
Güncel eğitim takvimiz için tıklayınız…