Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 10-11-2017, 09:18   #1
simplemnt
 
Giriş: 10/11/2017
Şehir: İzmir
Mesaj: 3
Excel Vers. ve Dili:
2013 İngilizce
Varsayılan Java Kodlu Siteden (UYAP) Makro İle Veri Çekmek

Merhaba,

UYAP'tan macro ile veri almak istiyorum. Ancak java tabanlı olduğu için yapamadım. çok bilgili değilim bu konularda o yüzden anlatımım için kusura bakmayın. Normal web sitelerinde sayfalar, alan ve bilgiler sabitken, Uyap'ta farklı menüler için adres bar hiç değişmiyor, menüde bir ekrana tıkladığımda kendi içerisinde bir tab açıyor. Bu sayfanın source koduna baktığımda olası her sayfa ve alan kodun içinde mevcut ama bir text gönderip onun karşılığı sorgu sonucunu almayı başaramadım.

Örneğin; UYAP > Vatandaş Portalı > Telefon No Sorgulama ekranında birim adı "İZMİR" verip ekrana gelen 3 satır kaydı almak istiyorum.

E-devlet şifreniz varsa bu üstte yazdığım sayfadaki veriyi nasıl alabileceğim konusunda yardımcı olabilir misiniz? Şimdiden çok teşekkürler.


Not: Uyap'a şifrem ile (kendim manuel olarak) bağlandıktan sonra açık sayfadayken macro çalışsın yeterli. Bu yüzden login kısmını atlıyorum.
simplemnt Çevrimdışı   Alıntı Yaparak Cevapla
Eski 13-11-2017, 09:03   #2
simplemnt
 
Giriş: 10/11/2017
Şehir: İzmir
Mesaj: 3
Excel Vers. ve Dili:
2013 İngilizce
Varsayılan

Tekrar merhaba, bir örnek ile anlatırsam daha kolay olacak benim açımdan. Aşağıdaki kodla TAPDK'nın sitesinden sorgu yapıp sonucu alabiliyorum. Ama bu sitede TXT_TCK alanı, http://212.174.130.210/NewTapdk/ViewApp/sorgu.aspx içerisinde sabit. Bu alana TCKN yapıştırıp veriyi alabiliyorum. UYAP'ta ise bir menüye tıkladığımda yeni bir sayfa açmıyor (adres barında değişiklik olmuyor) sayfa içinde bir tab yaratıyor (source kodda'da "iframe" ile başlayan kod ekleniyor), o taba macro ile nasıl gideceğimi, tam olarak hangi kodla adresleyeceğimi bilemedim. Ayrıca, çıkan sonuçları alttaki "GridView1" ile alıp alamayacağımı da bilmiyorum, ekte resimdeki "table" daki verileri almak istiyorum.

Alttaki kodda biraz oynama yaparak çözebilir miyim, yoksa java olduğu için farklı bir yöntemle mi denemeliyim?


https://hizliresim.com/Dy5aAO


Dim IE As Object
Dim HTML_Body As Object, HTML_Tables As Object, MyTable As Object

On Error Resume Next
Const READYSTATE_COMPLETE = 4

Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = False 'True

IE.Navigate "http://212.174.130.210/NewTapdk/ViewApp/sorgu.aspx"
Do
Loop While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE

IE.document.all("TXT_TCK").Value = "TCKİMLİKNOBİLGİSİ" 'TCKN No yazılmalıdır.

Set inp = IE.document.getElementsByTagName("input")
For Each itm In inp
If itm.Type = "image" And itm.Name = "Button_Search" Then
itm.Select
itm.Click
End If
Next itm
Do
Loop While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE

k = 2
For x = 1 To IE.document.getElementByID("GridView1").Rows.Lengt h - 1
Range("D" & k).Value = IE.document.getElementByID("GridView1").Rows(x).Ce lls(1).innertext
Range("E" & k).Value = IE.document.getElementByID("GridView1").Rows(x).Ce lls(2).innertext
Range("F" & k).Value = IE.document.getElementByID("GridView1").Rows(x).Ce lls(3).innertext
Range("G" & k).Value = IE.document.getElementByID("GridView1").Rows(x).Ce lls(4).innertext
Range("H" & k).Value = IE.document.getElementByID("GridView1").Rows(x).Ce lls(5).innertext
Range("I" & k).Value = IE.document.getElementByID("GridView1").Rows(x).Ce lls(6).innertext
Range("J" & k).Value = IE.document.getElementByID("GridView1").Rows(x).Ce lls(7).innertext
Range("K" & k).Value = IE.document.getElementByID("GridView1").Rows(x).Ce lls(8).innertext
Range("L" & k).Value = IE.document.getElementByID("GridView1").Rows(x).Ce lls(9).innertext
k = k + 1
Next x

Set inp = IE.document.getElementsByTagName("input")
For Each itm In inp
If itm.Type = "image" And itm.Name = "Button_ClearForm" Then
itm.Select
itm.Click
End If
Next itm
Do
Loop While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE




Bu mesaj en son " 13-11-2017 " tarihinde saat 09:05 itibariyle simplemnt tarafından düzenlenmiştir.... Neden: metin ekleme
simplemnt Çevrimdışı   Alıntı Yaparak Cevapla
Eski 13-11-2017, 15:36   #3
arcilingir
 
Giriş: 11/12/2004
Mesaj: 9
Varsayılan

B1 hücresine ARANACAK kelime girilecek
kodlardaki bu alanlara kendi bilgilerinizi giriniz
IE.document.all("tridField").Value = "TCKİMLİK"
IE.document.all("egpField").Value = "ŞİFRE"



Sub UYAP2()

Dim IE As Object
Dim HTML_Body As Object, HTML_Tables As Object, MyTable As Object

On Error Resume Next
Const READYSTATE_COMPLETE = 4

Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True

Range("D1:G20").ClearContents

IE.navigate "https://vatandas.uyap.gov.tr/vatandas/giris.jsp"
Do
Loop While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE
'Application.Wait Now + TimeValue("00:00:01")

For Each l In IE.document.getElementsByTagName("a")
If l.ClassName = "btn red-flamingo" Then
l.Click
Exit For
End If
Next
Do
Loop While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE
Application.Wait Now + TimeValue("00:00:01")


IE.document.all("tridField").Value = "TCKİMLİK"
IE.document.all("egpField").Value = "ŞİFRE"

Set inp = IE.document.getElementsByTagName("input")
For Each itm In inp
If itm.Type = "submit" And itm.Name = "submitButton" Then
itm.Select
itm.Click
End If
Next itm
Do
Loop While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE


IE.navigate "https://vatandas.uyap.gov.tr/jsp/vatandas_jsp/birim_tel_sorgulama.jsp?v=2017"
Do
Loop While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE


IE.document.all("ba").Value = Range("B1").Value

Set inp = IE.document.getElementsByTagName("input")
For Each itm In inp
If itm.Type = "button" And itm.Name = "submit" Then
itm.Select
itm.Click
End If
Next itm
Do
Loop While IE.Busy Or IE.ReadyState <> READYSTATE_COMPLETE

Application.Wait Now + TimeValue("00:00:02")

son = 1
j = 3

Set Rky = IE.document.getElementsByTagName("TABLE")
For Each tbl In Rky
' If tbl.ID = "" Then
For Each tr In tbl.Rows
For Each td In tr.Cells
Sheets("Sayfa1").Cells(son, j + 1) = td.innerText
j = j + 1
Next td
son = son + 1
j = 3
Next tr
' End If
'son = son + 1
Next tbl

Application.Wait Now + TimeValue("00:00:02")

'bir = IE.document.getElementById("kayitlar").getElements ByTagName("TR")(0).getElementsByTagName("TD")(1).i nnerText
'MsgBox bir

End Sub
arcilingir Çevrimdışı   Alıntı Yaparak Cevapla
Eski 13-11-2017, 15:56   #4
simplemnt
 
Giriş: 10/11/2017
Şehir: İzmir
Mesaj: 3
Excel Vers. ve Dili:
2013 İngilizce
Varsayılan

arcilingir hocam çok teşekkür ederim. Elinize sağlık.
simplemnt Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 07:07


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri- Çorlu Çelik Konstruksiyon-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden