Web'den; tuşa basınca ayrılan sayfadan veri çekip excele listelemek

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,547
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Ustadlarım ;
Acilen demek yasak olsa da , acilen bir web adresinden excele veri çekmem gerekli .
Bir yere kadar geldim , excel'de dizili Tc kimlik Nolarını siteye göndererek kişinin sinav yeri bilgilerini tekrar excele,Tc Kimliğin bulunduğu satıra almam gerek .ancak webdeki sorgu sayfasında tuşa basınca ayrı olarak gelen web sayfasında veri gosteriyor ve bu ayrılan sayfadan veriyi alarak ( kapatmayı ) ve excelde dizmeyi başarmam, bu websayfasını kapattırıp yeni Tc Kimlikle yeniden açtırıp sormak ve yine Tc Kimlik No'nun kendi satirina almam gerek .
Bu tarz bir veri çekmeyi Sn Bülent hocamız sayesinde yapmıştık ve mükemmel çalışmıştı , benzer bir çalışma ile bu noktaya kadar gelebildim.

Ekte , tc kimlik noları bulunan örnek bir sayfa ve vba sında da site adresi ve kodlar var ve bir yere kadar çalışıp hata veriyor.
Adres : Http://www.ubgup.gazi.edu.tr/sinavgrs.aspx

Yaklaşık 18000 kişilik bir siteyesorma/exceleyazma işlemini her kişi için yapmamda değerli destekleriniz beni ve bu kadar kişinin sınav hakkı açısından kendilerini de çok sevindirecek.Hepsinin tek tek sınav yerini bulmam ve kendilerine de 48 saat içinde bildirmem gerek .
Destek ve kod fikirlerinizi umud ediyorum.
 
Son düzenleme:

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,547
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Bir adım daha ilerleyebildim , ama hala çalıştıramadım :(
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,547
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Web sorgulamada deneyimli ustadlarımızın desteğine gerçekten ihtiyacımız var
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
Kodları bir deneyiniz, site çok karman karışık bir yapıda, tırla el çantası taşıma işine benziyor, bu kadar basit bir dizaynı olan sayfa için bir çok gereksiz fonksiyon, script kullanılmış. 1 sn de yapılacak iş 10 sn de yapılıyor.

Kod:
Sub sinavYeriSorgula()
    tables = Array(27, 21, 23, 17, 25, 13, 15, 29)
    With CreateObject("InternetExplorer.Application")

        [C3:IV65536].ClearContents
        For i = 3 To [a65536].End(3).Row
            URL = "http://www.ubgup.gazi.edu.tr/y/SinavWeb/SinavSorgula.aspx?sorgu=" & Cells(i, 1)
            .Navigate URL

            Do Until .ReadyState = 4: DoEvents: Loop
            Do While .Busy: DoEvents: Loop

            With .Document.getElementsByTagName("table")
                If .Length > 0 Then
                    For x = 0 To UBound(tables)
                        Cells(1, x + 5) = tables(x)
                        Cells(i, x + 5) = "'" & Replace(Replace(.Item(tables(x)).innertext, ChrW(8206), ""), Chr(13), "")
                    Next x
                Else
                    Cells(i, 4) = "Kayıt Bulunamadı"
                    GoTo atla
                End If
            End With
            With .Document.getElementsByTagName("span")
                If .Length > 1 Then
                    birles = ""
                    For x = 43 To 43 + (.Length - 98)
                        Cells(1, x + 5) = x
                        birles = Trim(birles & Replace(Replace(.Item(x).innertext, ChrW(8206), ""), Chr(13), "")) & " "
                    Next x
                    Cells(i, 13) = Trim(birles)
                    birles = ""
                    For x = 36 To 42
                        birles = Trim(birles & Replace(Replace(.Item(x).innertext, ChrW(8206), ""), Chr(13), "")) & " "
                    Next x
                    Cells(i, 14) = Trim(birles)
                End If
            End With
atla:
        Next i
    End With
    MsgBox "Bitti.", vbInformation, "veyselEmre"

End Sub
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,547
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Deniyorum,
Teşekkür ederim , hakikaten saçma sapan bir dizayn ve cyristal report VIEWER kullanmış bunu yapan , dolayısı ile bilinen mantıkla bir şey gelmiyor
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,547
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Sayın VeyselEmre,
Kodlarınız mükemmel ve mükemmel çalıştı . Ve hızla işlem yapmaya açık bir şekilde Tc Kimlik sırasında kişinin full detayı çıktı ki , yine ek bir sayfa ile hepsine peşpeşe sınav yeri belgesi basabilecek kadar beni ileri götürüp zaman kazandırdınız.
Tek ve EN KİLİT ŞEY eksik kaldı kodlar sayfadan veri çekerken...
Web sayfası bir Tc kimliğe cevap verirken SRC diye bir kod ve onun yanında 1 yada 2 yada 3 yada 4 diye bir sayı alır ki , bu o kişinin sınavda muhatap soru türünü belirliyor, burada hata yapanın sınavı yanıyor. Her bir şey tamam üstad ama can damarı gelmiyor , kodlarınıza dokunmaya da kıyamıyorum o kadar verimli ve üstad elinden çıkmış olarak çalıştı ki bu konuya girenler içinde tek ve en doğru çalışan çıktı.
Son bir rica , o can alıcı SRC ve SAYISINI sayfadan diğer verilerle beraber almamız için ne değişiklik yada ek yapmak gerek , yardımcı olursanız 18000 kişinin ,+benim naçiz duası sizin için olacak.
Allah şimdiden razı olsun emeğinizden
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,167
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
veyselemre hocamın kodlarına
tables = Array(27, 21, 23, 17, 25, 13, 15, 29) satırına 19, uda ilave edin,ben öyle denedim istediğiniz geldi.
tables = Array(19, 27, 21, 23, 17, 25, 13, 15, 29)
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,547
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Sayın tahsinararat,
Dediğiniz gibi 19'u da ilave edince , herşey tamam olarak geldi. Sizden de veyselemre hocamızdan da allah razı olsun . 18000 kişiye ÇOK BÜYÜK bir iyilik yaptınız ve teşekkürlerimizle dualarımızı duyunuz:)
Artık rahatça uyuyabilirim sayenizde..Elleriniz dert görmesin
 
Katılım
22 Nisan 2008
Mesajlar
1
Excel Vers. ve Dili
Office2005/2007 İngilizce
bu kodda anlayamadığım bir iki nokta var da cevaplayabilir misiniz acaba?

".Item(tables(x)).innertext" bu kodda getelementbytagname kullanıldığı için sanırım bu şekilde sınav türü için Table(19) verisi getiriliyor. ancak ben sayfayı incelediğimde -htm- (örnek olarak http://www.ubgup.gazi.edu.tr/y/SinavWeb/SinavSorgula.aspx?sorgu=53206024226) table etiketli bölümlerin numaralandırmasını göremedim; bu 19,27,21,23...gibi tablo numaralarını nasıl buldunuz?
 
Üst