• Merhaba Ziyaretçi,
    Microsoft 365 Uygulamaları ile ilgili yeni haberler, dikkat çekici konular, ilgi ile takip edeceğiniz yazılar için.

    Abone Olun
  • ESTE - Microsoft Office Eğitimleri

    Yeni yıl Microsoft Office Eğitim planlarınız için bütçenizi oluşturmadan önce ESTE eğitim kalitesi ile tanışın. 🙌
    Kullanıcıların ihtiyacı olan yazılı materyal, dosya ve video kaynağı desteğimiz ile tüm ofis çalışanlarının iş süreçlerini rahatlatacak eğitimler planlayın. 🎯
    Microsoft Office eğitimlerimiz hakkında detaylı bilgi için bize ulaşın.

    👉 Microsoft Office Eğitim Talebi

Çözüldü İş Yatırım Mali Tablolar Açılır kutudan değer seçme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

RixtoNN

Yeni Üye
Katılım
4 Ocak 2019
Mesajlar
19
En iyi yanıt
0
Puanları
1
Yaş
25
Konum
Bursa
Ad Soyad
Abdullah Orhan
EGEEN Hisse Senedi Yorumları - Ege Endüstri | İş Yatırım sitesinde mali tablolar sekmesinde 2017/12 ve 2016/12 tarihlerini seçmek istiyorum.
Yazdığım kod ile excelimdeki ismini yazdığım şirketin sayfasına girip mali tablolar sayfasına yönlendirebiliyorum ancak tarihi seçemiyorum.
Yardım edebilir misiniz?
PHP:
Sub Düğme2_Tıkla()
sirketismi = Range("A2")


Dim ie As New InternetExplorer
ie.Visible = True
ie.navigate ("https://www.isyatirim.com.tr/tr-tr/analiz/hisse/Sayfalar/sirket-karti.aspx?hisse=" & sirketismi)

Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE

Dim doc As HTMLDocument
Set doc = ie.document

Do Until Not ie.Busy
DoEvents
Loop
ie.document.all("page-4").Click
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
ie.document.all("select2-ddlMaliTabloDonem1-container").Click

End Sub

buda html kodları

soru4.PNG
 

Murat OSMA

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,508
En iyi yanıt
13
Puanları
113
Konum
İstanbul
Web sitesi
excelarsivi.com
Ad Soyad
Murat OSMA
Office Vers.
Office 365 TR+EN
Bu kodları ilave edebilirsiniz..
PHP:
With ie
    .document.getElementById("ddlMaliTabloDonem1").selectedIndex = 3
    .document.getElementById("ddlMaliTabloDonem2").selectedIndex = 7
    Set osma = .document.createEvent("HTMLEvents")
    osma.initEvent "change", True, False
    .document.getElementById("ddlMaliTabloDonem1").dispatchEvent osma
    .document.getElementById("ddlMaliTabloDonem2").dispatchEvent osma
End With
 

RixtoNN

Yeni Üye
Katılım
4 Ocak 2019
Mesajlar
19
En iyi yanıt
0
Puanları
1
Yaş
25
Konum
Bursa
Ad Soyad
Abdullah Orhan
Teşekküler dün gece böyle bir kod yazdım ve şimdilik düzgün çalışıyor.
Kod:
Set HTMLdoc = ie.document
    Set evtChange = HTMLdoc.createEvent("HTMLEvents")
    evtChange.initEvent "change", True, False
    Set selectElement = HTMLdoc.getElementById("ddlMaliTabloDonem1")
     selectElement.Value = Range("B2")
     selectElement.dispatchEvent evtChange

Bunun dışında bir internet sitesinden bir değer alırken ie.document.getelementbyclass/id/name kullanıyoruz ancak şu html kodlarında Amortisman giderlerini altındaki ilk değeri almak için hangisini kullanmalıyım
sorusdasda.PNG
 

Murat OSMA

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,508
En iyi yanıt
13
Puanları
113
Konum
İstanbul
Web sitesi
excelarsivi.com
Ad Soyad
Murat OSMA
Office Vers.
Office 365 TR+EN
For döngüsü ile td taglarını döndürün, bulduğunuz verinin bir sonraki numarasını alın.
 

Murat OSMA

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,508
En iyi yanıt
13
Puanları
113
Konum
İstanbul
Web sitesi
excelarsivi.com
Ad Soyad
Murat OSMA
Office Vers.
Office 365 TR+EN
Örnek;
PHP:
for i = 0 to ie.document.getelementsbytagname("td").length -1
if ie.document.getelementsbytagname("td")(i).innertext = "Amortisman Giderleri" then
msgbox  ie.document.getelementsbytagname("td")(i+1).innertext
end if
next i
 

RixtoNN

Yeni Üye
Katılım
4 Ocak 2019
Mesajlar
19
En iyi yanıt
0
Puanları
1
Yaş
25
Konum
Bursa
Ad Soyad
Abdullah Orhan
PHP:
For i = 0 To ie.document.getElementsByTagName("td").Length - 1
If ie.document.getElementsByTagName("td")(i).innerText = "Amortisman Giderleri" Then
result = ie.document.getElementsByTagName("td")(i + 1).innerText
Range("B11").Value = result
End If
Next i
teşekkürler.
Benzer problemi olan arkadaşlar için çözüm olabilir.
msgbox yerine result yazarak istediğiniz hücreye otomatik değeri koyabilirsiniz.
 

Murat OSMA

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,508
En iyi yanıt
13
Puanları
113
Konum
İstanbul
Web sitesi
excelarsivi.com
Ad Soyad
Murat OSMA
Office Vers.
Office 365 TR+EN
Allah razı olsun, güzel çözümleriniz var ellerinize sağlık :)(y)
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst Alt