• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Tablo İçindeki butona basmak

  • Konbuyu başlatan Konbuyu başlatan Kusta
  • Başlangıç tarihi Başlangıç tarihi
Katılım
30 Kasım 2018
Mesajlar
94
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.
 
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
 
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.
 
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
 
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.
 
Geri
Üst