• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü Makro ile WEbden Json Tablosu çekme

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

burakgunes

Yeni Üye
Katılım
12 Ağu 2021
Mesajlar
65
Çözümler
1
Aldığı beğeni
23
Excel V
Office 365 TR
Kod:
Public Sub exceljson1()

Dim http As Object, JSON As Object, i As Integer
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", "http://84.51.59.99/baybossWebAndroid/home/testJson", False
http.send
Set JSON = ParseJson(http.responseText)
i = 2
For Each Item In JSON
Sheets(1).Cells(i, 1).Value = Item("ID")
Sheets(1).Cells(i, 2).Value = Item("NAME")
Sheets(1).Cells(i, 3).Value = Item("BARCODE")
Sheets(1).Cells(i, 4).Value = Item("A_33_ADA")
Sheets(1).Cells(i, 5).Value = Item("A_2_ADA")
Sheets(1).Cells(i, 6).Value = Item("BASAKSEHIR")
Sheets(1).Cells(i, 7).Value = Item("ALTINSEHIR")
Sheets(1).Cells(i, 8).Value = Item("SATISFIYATI")
i = i + 1

Next
MsgBox ("TAMAMLANDI")

End Sub

Merhaba yukarıdaki kod Excell dosyama eklediğim JsonConverter.bas fonksiyonu vasıtası ile çalışıyor. Fakat Şöyle bir problem çıkıyor ortaya Kod sadece ilk çalıştığında güncel tabloyu çekiyor sonraki çalıştımalarda json tablosu güncellense bile İlk sayfayı açtığımdaki şekli ile bana geri yazıdırıyor. Sanırım Ön belleğe alıyor sonra her makroyu çalıştırdığımda tekrar bana veriyor. Bu sorunuma çözüm rica ediyorum teşekkürler Balta aeGNoR Örnek dosya ektedir
 

Ekli dosyalar

Kod:
Public Sub exceljson1()

Dim http As Object, JSON As Object, i As Integer
Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", "http://84.51.59.99/baybossWebAndroid/home/testJson", False
http.send
Set JSON = ParseJson(http.responseText)
i = 2
For Each Item In JSON
Sheets(1).Cells(i, 1).Value = Item("ID")
Sheets(1).Cells(i, 2).Value = Item("NAME")
Sheets(1).Cells(i, 3).Value = Item("BARCODE")
Sheets(1).Cells(i, 4).Value = Item("A_33_ADA")
Sheets(1).Cells(i, 5).Value = Item("A_2_ADA")
Sheets(1).Cells(i, 6).Value = Item("BASAKSEHIR")
Sheets(1).Cells(i, 7).Value = Item("ALTINSEHIR")
Sheets(1).Cells(i, 8).Value = Item("SATISFIYATI")
i = i + 1

Next
MsgBox ("TAMAMLANDI")

End Sub

Merhaba yukarıdaki kod Excell dosyama eklediğim JsonConverter.bas fonksiyonu vasıtası ile çalışıyor. Fakat Şöyle bir problem çıkıyor ortaya Kod sadece ilk çalıştığında güncel tabloyu çekiyor sonraki çalıştımalarda json tablosu güncellense bile İlk sayfayı açtığımdaki şekli ile bana geri yazıdırıyor. Sanırım Ön belleğe alıyor sonra her makroyu çalıştırdığımda tekrar bana veriyor. Bu sorunuma çözüm rica ediyorum teşekkürler Balta aeGNoR Örnek dosya ektedir
Global bir değişken tanımlamıyorsunuz böyle bir şey olması imkansız. ParseJson fonksiyonunu görmemde bir sakınca var mı?

biraz inceledikten sonra gelen edit:

Sonuç string dönmüyor, dict ya da coll dönüyor.
dict ya da coll da global bir işlem mi yapıyor şuan hatırlayamadım. Çok sallamasyon olacak ama eklediğim ekran görüntüsündeki gibi bir şey denediniz mi? Önce listeyi boşaltıp sonra sorgulatmayı? Hatalı veri girildiğinde set nothing yapıyordur herhalde dict veya coll'u :D
 

Ekli dosyalar

  • Ekran Alıntısı.JPG
    Ekran Alıntısı.JPG
    60.4 KB · Gösterim: 7
Son düzenleme:
Global bir değişken tanımlamıyorsunuz böyle bir şey olması imkansız. ParseJson fonksiyonunu görmemde bir sakınca var mı?

biraz inceledikten sonra gelen edit:

Sonuç string dönmüyor, dict ya da coll dönüyor.
dict ya da coll da global bir işlem mi yapıyor şuan hatırlayamadım. Çok sallamasyon olacak ama eklediğim ekran görüntüsündeki gibi bir şey denediniz mi? Önce listeyi boşaltıp sonra sorgulatmayı? Hatalı veri girildiğinde set nothing yapıyordur herhalde dict veya coll'u :D
Maalesef Çalışmadı

GET request data doesn't update Şöyle bir konu buldum ama kendi koduma uyarlayamaıdm çözüm sağlanmışmı oda belli değil ama
 
Kod:
Set http =CreateObject("MSXML2.ServerXMLHTTP")
Bu şekilde bir deneyin.
 
Çözüm
PQ örnek olarak kalsın.
Kod:
let
    Source = Json.Document(Web.Contents("http://84.51.59.99/baybossWebAndroid/home/testJson")),
    #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"ID", "NAME", "BARCODE", "ETAKOD",
               "ENTEGRA", "A_33_ADA", "A_2_ADA", "BASAKSEHIR", "ALTINSEHIR", "TOPLAMSTOK", "ALISFIYATI", "SATISFIYATI",
               "MARKA", "KATEGORI"}, {"ID", "NAME", "BARCODE", "ETAKOD", "ENTEGRA", "A_33_ADA", "A_2_ADA", "BASAKSEHIR",
                "ALTINSEHIR", "TOPLAMSTOK", "ALISFIYATI", "SATISFIYATI", "MARKA", "KATEGORI"})
in
    #"Expanded Column1"
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst