Power Query ile Şifreli Dosyadan Veri Alma

  • Konuyu başlatan Konuyu başlatan Kanit71
  • Başlangıç tarihi Başlangıç tarihi
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Kanit71

Kullanıcı
Katkı: %0
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhabalar,

Power query ile bir dosyadan veri almak istiyorum. Fakat aldığım dosyadaki Excel şifreli olduğu için hata alıyorum. Excelin şifresini kaldırdığımda sorun olmuyor.
Güvenlik nedenli Excel dosyasını korumak zorundayım bu sorunu nasıl çözebilirim.

Yardımlarınızı rica ederim.
 
Çözüm
Merhaba,

Power Query, açılış parolası olan bir Excel dosyasına doğrudan bağlanamaz; parolayı girebileceğiniz bir adım sunmadığı için dosya her yenilemede hata verir. Kaynak dosyayı parolalı tutmaya devam edebilmeniz için kaynak dosyayı VBA ile parolasını vererek açıp veriyi rapor dosyasındaki bir sayfaya almanız, Power Query sorgusunu da bu sayfaya bağlamanız gerekir.

Rapor dosyasında Veri adlı bir sayfa açın, aşağıdaki kodu bir modüle ekleyin ve Yol ile Sifre sabitlerini kendi dosyanıza göre değiştirin:

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (7 satır). Giriş Yap
Merhabalar SAyın Kanit71,

Aşağıdaki bağlantıya bir gözatın isterseniz.
Sayfadaki Veri bağlantılarının temellerini anlama başlığı altındaki açıklamalar sizin durumunuzla ilgili gibi görünüyor.
Verilerin alınabilmesi için şifreye ihtiyacınız olacak gibi görünüyor. Çünkü verileri alabilmek için önce ERİŞEBİLMEK gerekiyor.

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (1 satır). Giriş Yap
 
Merhaba,

Power Query, açılış parolası olan bir Excel dosyasına doğrudan bağlanamaz; parolayı girebileceğiniz bir adım sunmadığı için dosya her yenilemede hata verir. Kaynak dosyayı parolalı tutmaya devam edebilmeniz için kaynak dosyayı VBA ile parolasını vererek açıp veriyi rapor dosyasındaki bir sayfaya almanız, Power Query sorgusunu da bu sayfaya bağlamanız gerekir.

Rapor dosyasında Veri adlı bir sayfa açın, aşağıdaki kodu bir modüle ekleyin ve Yol ile Sifre sabitlerini kendi dosyanıza göre değiştirin:

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (27 satır). Giriş Yap

Kod nasıl çalışır?
  1. Workbooks.Open, Password parametresiyle parolalı dosyayı salt okunur olarak açar.
  2. Veri sayfası temizlenir ve kaynak dosyanın ilk sayfasındaki dolu alan değer olarak buraya aktarılır.
  3. Aktarılan alan KaynakVeri adıyla tanımlanır; kaynakta satır sayısı artsa da azalsa da ad her çalıştırmada yeni boyuta göre güncellenir.
  4. Kaynak dosya kaydedilmeden kapatılır, ardından RefreshAll ile Power Query sorgusu yenilenir.
  5. Parola yanlışsa veya dosya bulunamazsa uyarı gösterilir; Veri sayfasındaki önceki veriler silinmez.

Notlar
  • Power Query sorgusunun kaynak adımı Gelişmiş Düzenleyici'de Excel.CurrentWorkbook(){[Name="KaynakVeri"]}[Content] olarak yazılır; ardından "İlk Satırı Üst Bilgi Olarak Kullan" adımı eklenir.
  • Parola kodda açık yazıldığı için VBA projesini Araçlar > VBAProject Özellikleri > Koruma sekmesinden parolayla kilitlemeniz önerilir.
  • Rapor dosyası .xlsm biçiminde kaydedilmelidir.
  • Kaynak dosyada veriler ilk sayfada değilse Worksheets(1) yerine sayfa adını yazın, ör. Worksheets("Satışlar").
 
Çözüm
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst