Çözüldü Makro Kullanarak Sunucudan Dosya Okuma

ssavas

Site Üyesi
Excel Versiyonu
Excel 2019
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba arkadaşla.
Örnek çalışmada textbox'lara gerekli parametreler girince oluşan url adresi çalışınca dönen veri, gene sunucuda bulunan (kps.bsm.gov.tr) json klasörüne sorgulanan kişinin (stc.txt) tc kimlik numarası ile isimlendirilerek json formatında kayıt oluyor.
Ben istiyorum ki; örnek çalışmada olduğu gibi değil de, yani dosya yöneticisi olmaksızın sunucudaki json klasöründe bulunan sorgulanan kişinin kimlik numarası ile adlandırılmış json dosyasının varlığı kontrol edilsin, varsa import olsun, yoksa bir mesaj versin. İmport sonrası json klasöründeki tüm json dosyaları silinsin.
Yardımcı olacak arkadaşlara teşekkür ederim.
json.webp

Kod:
You must log in to view content
(41 satır)
 

Ekli dosyalar

Çözüm
Çünkü, bilgisayarınızdaki bir dosyayı,
"file system object" i kontrol ediyorsunuz.

Daha evvel tarif ettiğim VBA tarafındaki LOCALS alanında vt tanımlamasından sonraki HTTP REQUEST ve RESPONSE TEXT sonucu kontrol edilmeli.
Feyzullah hocam dosya adını bir değişkenden alınarak yapılamazmı? Form arayüzünde bulunan txt_kimlik_sorgu veya stc.txt'ye girilen kimlik numarasını bir değişkene atayıp sorgu yapılabilir diye düşünüyorum. Uzak sunucu https adresi veya 192.168.1.1/json, 10.16.16.21/json gibi iç ip de olabilir.
2.webp
 

Ekli dosyalar

Sorgulanan kişinin kimlik numarasını değişkene alarak uzak sunucudan json dosyasını okutmayı başardım. Ancak gene Türkçe karakter sorununa takıldım.
Ömer hocanın da, feyzullah hocanın da çözüm yöntemlerini uygulamada başarılı olamadım.
Ekran görüntüsü 2023-08-01 142525.webp

Kod:
You must log in to view content
(48 satır)
 

Ekli dosyalar

Deneme şansım yok.
-- Dim product.... ve Set product..... satırlarını,
alttaki txtkimliksogu =.... dahil alttaki satırları pasif hale getirin.
-- Üstteki Set http diye başlayıp, content = .... diye biten satırları aktif hale getirin.
-- vba ekranında Görünüm menüsünden LOCALS kısmını aktif hale getirin ve kodun, XD_bozuk =.... satırında durmasını sağlayın.
-- LOCALS ekranında content değişkeninin nasıl bir değer aldığını ekran görüntüsü olarak buradan iletin bakalım.
 
Üstadım geri dönüş için teşekkür ederim.
Hakkınızı helal edin. Sunucu lokalden çalıştığı için evden bende test edemedim. Ancak yarın test edip geri dönebilirim.
 
Üstadım sorunu şu şekilde çözdüm.
kod'daki filename (Dosya İsmi) de hata verip kısır döngüue giriyordu.
filename yerine sorgu url adresini yazınca sorun çözüldü.
Kod:
You must log in to view content
(4 satır)
Kod:
You must log in to view content
(34 satır)

Şimdi başka bir ufak sorunum var. json klasöründe bulunmayan bir sorgu yapılınca sistemin hata vermemesi için bir kontrol yapmaya çalışıyorum.
Bunun için de kod bloğuna şu şekilde bir kontrol makrosu ilave ettim ancak netice alamadım.
Kod:
You must log in to view content
(9 satır)
Bu noktada çözüm önerinizi rica ediyorum.
 
Bilgisayarda değilim.
Şu konu sayfasındaki kodda
varmi = Dir(......)
If varmi = True Then
İŞLEMLER
End If

bölümü var.
Sanırım aradığınız böyle bir şey.

 
Üstat şu şekilde yaptım.
Masa üstündeki klasörde sorgulanan kişiye ait bir json dosyasının varlığını-yokluğunu kontrol ediyor. Sunucu için test edemedim. Ancak yarın kontrol edebilirim. :)
Kod:
You must log in to view content
(11 satır)
 
Çünkü, bilgisayarınızdaki bir dosyayı,
"file system object" i kontrol ediyorsunuz.

Daha evvel tarif ettiğim VBA tarafındaki LOCALS alanında vt tanımlamasından sonraki HTTP REQUEST ve RESPONSE TEXT sonucu kontrol edilmeli.
 
Çözüm
Konuyu başlatan
Site Üyesi
Katılım
Konu Bilgi
Durum
Çözüldü 
Forum
Genel Excel Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
13
Üst