• 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.

Soru Atlantis uab web den defter sorgulama

selimdemirlenk

Yeni Üye
Katılım
2 Şub 2023
Mesajlar
7
Aldığı beğeni
1
Excel V
Office 2016 EN
Merhaba

Ekteki excel sayfasında DEFTER NO sütununda bulunan veriler DTGM ÖTVsiz Yakıt Bilgi Sistemi v2.5 web sitesindeki ilgili hücrelere yazdırılarak otomatik sorgulatılmaktadır. Ancak bu hangi değer bulunan hücre seçiliyse sadece o hücreyi sorgulamaktadır.
Yapmak istediğim ancak bir türlü yapamadığım şey şudur.
1. Excel Sayfa1 de bulunan B5'den B51'e kadar bulunan tüm satırlardaki verilerin hepsini otomatik sorgulasın
2. webde görülen sorgu sonucundaki G4'den J4'e kadar olan karşılıklarını ilgili hücrelere otomatik getirsin.
3. Yapılan sorgu sonucuna göre açılan web sorgu sayfalarının her birini ayrı ayrı B sütunundaki isimleriyle tarih_isim şeklinde resim dosyası olarak başka bir klasöre kaydetsin.

Bu çalışma hakkında için göstereceğinz yardımlardan dolayı şimdiden teşekkür ederim.
 
Aşağıdaki kodları deneyin.
Kod:
Private Sub CommandButton1_Click()

On Error Resume Next

Dim objIE As InternetExplorer
Dim HTMLdoc As MSHTML.HTMLDocument
Dim htmlInput As MSHTML.HTMLInputElement
Dim htmlColl As MSHTML.IHTMLElementCollection
Dim son As Long, i As Long
son = Range("B" & Rows.Count).End(3).Row
'sat = 5 'ActiveWindow.RangeSelection.Row 'Sorgulanacak satırı seç
'If Sayfa1.Cells(sat, "f") = "" Then 'f sütununda değer varsa sorgulama yapacak
'MsgBox "DEFTER NUMARASI HATALI.." 'f sütununda değer olmayan bir satırda hata mesajı verecek
'Exit Sub
'End If

Set objIE = New InternetExplorerMedium
objIE.navigate "https://atlantis.uab.gov.tr/OTV2/_public/" 'url

objIE.Visible = 1 'web sayfasının açılıp açılmayacağını belirtir. 1=web syf aç, 0=web syf açma

Do While objIE.readyState <> READYSTATE_COMPLETE: DoEvents: Loop

Set HTMLdoc = objIE.document

For sat = 5 To son
    If Cells(sat, "f") <> "" Then
        objIE.navigate "https://atlantis.uab.gov.tr/OTV2/_public/"
        Do While objIE.readyState <> READYSTATE_COMPLETE: DoEvents: Loop
        
        HTMLdoc.getElementById("pfix").Value = Sayfa1.Cells(sat, "c")
        
        HTMLdoc.getElementById("region").Value = Sayfa1.Cells(sat, "d")
        
        HTMLdoc.getElementById("city").Value = Sayfa1.Cells(sat, "e")
        
        HTMLdoc.getElementById("number").Value = Sayfa1.Cells(sat, "f")
        
            Set htmlColl = HTMLdoc.getElementsByTagName("input")
            Set a = HTMLdoc.getElementsByClassName("tbannerx18")
            
            For Each htmlInput In a
                If Trim(htmlInput.Type) = "submit" Then
                    htmlInput.Click 'sorgula butonuna tıklandı
                    Do While objIE.readyState <> READYSTATE_COMPLETE: DoEvents: Loop
                    Application.Wait (Now + TimeValue("0:00:03"))
                    Exit For
                End If
            Next htmlInput
            
            Cells(sat, "G") = HTMLdoc.getElementsByTagName("Table")(3).getElementsByClassName("tbanner")(0).innerHTML
            Cells(sat, "H") = HTMLdoc.getElementsByTagName("Table")(3).getElementsByClassName("tbanner")(2).innerHTML
            Cells(sat, "I") = HTMLdoc.getElementsByTagName("Table")(3).getElementsByClassName("tbanner")(7).innerHTML
            Cells(sat, "J") = HTMLdoc.getElementsByTagName("Table")(3).getElementsByClassName("tbanner")(9).innerHTML
            Application.Wait (Now + TimeValue("0:05:00"))
        End If
    Next sat
  MsgBox "İşlem tamam!", vbInformation, "ASKM"
  
End Sub
 
Hocam merhaba

3. Yapılan sorgu sonucuna göre açılan web sorgu sayfalarının her birini ayrı ayrı B sütunundaki isimleriyle tarih_isim şeklinde resim dosyası olarak başka bir klasöre kaydetsin.

Bu başlık için müsaitseniz yardımcı olur musunuz?
 
Hocam merhaba

O kadar aramama rağmen kodları ekleyemedim. istediğim kodu bulamadım. Sizlere zahmet vermek istemiyrum ama yardımçı olursanız çok sevineceğim.
Saygılarımla
 
Geri
Üst