Tablo İçindeki butona basmak

Katılım
30 Kasım 2018
Mesajlar
87
Excel Vers. ve Dili
2016
İyi günler arkadaşlar,
Excelden aşağıdaki komutu verdiğimde explorer da butona basma işlemini yapabiliyorum,

Set TrackID = IE.document.getElementById("ctl515_ctlCommandTypCalisanListe_CommandItem_Güncelle")
IE.document.getElementById("ctl515_ctlCommandTypCalisanListe_CommandItem_Güncelle").Click
IE.Visible = True
While IE.Busy
DoEvents
Wend

Ancak ID 'si olmayan bir tuş var (tablo içindeki bir buton) ve ona basamıyorum yardımcı olabilirmisiniz. Kod aşağıdaki gibidir.


<TD align=left> ==$0
<a href="javascript:__doPostBack('ctl03$grvTypBasvuruListe','IseBaslat$0')">Başlat</a>
</TD>

Kodu yazamasanızda nasıl bir yol izlemem gerektiği hakkında bilgi verebilirseniz sevinirim.
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
552
Excel Vers. ve Dili
Office365 TR
Aşağıdaki örnekte bu başlıktaki a tagı içindeki bütün değerler Link objesinde toplanıyor. eğer a tagı içerisinde Giriş yap bulursa o linki tıklıyor.
Aşağıdaki kodda koyu renkli alanı kendi kod bloğunuza uyarlayarak ekleyebilirsiniz.
y = "Başlat" olarak değiştirmeniz yeterli olabilir. (Tabii sayfada daha önce başlat kelimesi a tagı içerisinde yok ise.)
Kod:
Sub clicklick()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")

With ie
.Visible = True
.Navigate ("https://www.excel.web.tr/threads/tablo-icindeki-butona-basmak.190936/")

While ie.ReadyState <> 4
DoEvents
Wend

Set Link = ie.document.getElementsByTagName("a")
    For Each l In Link
      x = l.innerhtml
      y = "Giriş yap"
      If InStr(1, x, y, vbBinaryCompare) > 0 Then
      l.Click
      Exit For
      End If
    
    Next l

End With
End Sub
Set Link = ie.document.getElementsByTagName("a")
For Each l In Link
x = l.innerhtml
y = "Başlat"
If InStr(1, x, y, vbBinaryCompare) > 0 Then
l.Click
Exit For
End If
Next l


veya

Set Link = ie.document.getElementsByTagName("a")
For Each l In Link
x = l.innerText
y = "Başlat"
If InStr(1, x, y, vbBinaryCompare) > 0 Then
l.Click
Exit For
End If
Next l
 
Katılım
30 Kasım 2018
Mesajlar
87
Excel Vers. ve Dili
2016
Aşağıdaki örnekte bu başlıktaki a tagı içindeki bütün değerler Link objesinde toplanıyor. eğer a tagı içerisinde Giriş yap bulursa o linki tıklıyor.
Aşağıdaki kodda koyu renkli alanı kendi kod bloğunuza uyarlayarak ekleyebilirsiniz.
y = "Başlat" olarak değiştirmeniz yeterli olabilir. (Tabii sayfada daha önce başlat kelimesi a tagı içerisinde yok ise.)
Kod:
Sub clicklick()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")

With ie
.Visible = True
.Navigate ("https://www.excel.web.tr/threads/tablo-icindeki-butona-basmak.190936/")

While ie.ReadyState <> 4
DoEvents
Wend

Set Link = ie.document.getElementsByTagName("a")
    For Each l In Link
      x = l.innerhtml
      y = "Giriş yap"
      If InStr(1, x, y, vbBinaryCompare) > 0 Then
      l.Click
      Exit For
      End If
   
    Next l

End With
End Sub
Set Link = ie.document.getElementsByTagName("a")
For Each l In Link
x = l.innerhtml
y = "Başlat"
If InStr(1, x, y, vbBinaryCompare) > 0 Then
l.Click
Exit For
End If
Next l


veya

Set Link = ie.document.getElementsByTagName("a")
For Each l In Link
x = l.innerText
y = "Başlat"
If InStr(1, x, y, vbBinaryCompare) > 0 Then
l.Click
Exit For
End If
Next l
sayfada daha önce başlat kelimesi a tagı içerisinde var. Bu ikinci başlat. 2. başlata nasıl bastırabilirim.
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
552
Excel Vers. ve Dili
Office365 TR
Merhaba,
Aşağıdaki kodda;
.Navigate ("https://www.excel.web.tr/threads/tablo-icindeki-butona-basmak.190936/") satırını ve
y = "Alıntı"
satırlarını kendinize göre düzenlerseniz, çalışacaktır.

Kod:
Sub clicklick()
    Dim ie          As Object
    Set ie = CreateObject("InternetExplorer.Application")
    
    With ie
        .Visible = TRUE
        .Navigate ("https://www.excel.web.tr/threads/tablo-icindeki-butona-basmak.190936/")
        
        While ie.ReadyState <> 4
            DoEvents
        Wend
        Application.Wait (Now + TimeValue("0:00:03"))
        a = 0
        Set Link = ie.document.getElementsByTagName("a")
        For Each l In Link
            x = l.innerhtml
            y = "Alıntı"
            If InStr(1, x, y, vbBinaryCompare) > 0 Then
                If a > 0 Then
                    l.Click
                    Exit For
                End If
                a = a + 1
            End If
        Next l
        
    End With
End Sub
 
Katılım
30 Kasım 2018
Mesajlar
87
Excel Vers. ve Dili
2016
Merhaba,
Aşağıdaki kodda;
.Navigate ("https://www.excel.web.tr/threads/tablo-icindeki-butona-basmak.190936/") satırını ve
y = "Alıntı"
satırlarını kendinize göre düzenlerseniz, çalışacaktır.

Kod:
Sub clicklick()
    Dim ie          As Object
    Set ie = CreateObject("InternetExplorer.Application")
   
    With ie
        .Visible = TRUE
        .Navigate ("https://www.excel.web.tr/threads/tablo-icindeki-butona-basmak.190936/")
       
        While ie.ReadyState <> 4
            DoEvents
        Wend
        Application.Wait (Now + TimeValue("0:00:03"))
        a = 0
        Set Link = ie.document.getElementsByTagName("a")
        For Each l In Link
            x = l.innerhtml
            y = "Alıntı"
            If InStr(1, x, y, vbBinaryCompare) > 0 Then
                If a > 0 Then
                    l.Click
                    Exit For
                End If
                a = a + 1
            End If
        Next l
       
    End With
End Sub
Elin kolun ağırmasın üstad. Çalıştı. Çok teşekkür ederim.
 
Üst