13/08/2020, 21:13
ozanakkaya
Sorunuzda, Alış(TL) hücresinin içindeki verinin" gelmesini istiyorum şeklinde ibare olduğu için Alış(TL) tagındaki veriyi alması için kod ekledim. Satışı bu kod ile alamazsınız.
Kodu aşağıdaki ile değiştirerek deneyin.
Forma mtn_alis ve mtn_satis isimlerinde metin kutusu ekleyin.
Kodu aşağıdaki ile değiştirerek deneyin.
Private Sub Komut0_Click()
Const myURL As String = "http://bigpara.hurriyet.com.tr/kobi/dunya-emtia-borsalari/sxaggr-gumus-gram/"
Dim inputBox
Dim appIE As Object
Set appIE = CreateObject("internetexplorer.application")
With appIE
.Navigate myURL
.Visible = False
End With
Do While appIE.Busy: DoEvents: Loop
Set inputBox = appIE.Document.querySelector(".kurDetail")
Me.mtn_alis = MetinVeriBul(inputBox.innertext, "ALIŞ(TL) ", "SATIŞ(TL)")
Me.mtn_satis = MetinVeriBul(inputBox.innertext, "SATIŞ(TL) ", "ÖNCEKİ KAPANIŞ")
appIE.Quit
Set appIE = Nothing
End Sub
Function MetinVeriBul(GMetinTumu As String, GIlkKelime As String, GIkinciKelime As String) As String
Dim lngIlkKelime As Long
Dim lngIkinciKelime As Long
lngIlkKelime = InStr(1, GMetinTumu, GIlkKelime, vbTextCompare)
If lngIlkKelime > 0 Then
lngIlkKelime = lngIlkKelime + Len(GIlkKelime)
lngIkinciKelime = _
InStr(lngIlkKelime, GMetinTumu, GIkinciKelime, vbTextCompare)
If lngIkinciKelime > 0 Then
MetinVeriBul = Mid$(GMetinTumu, lngIlkKelime, (lngIkinciKelime - lngIlkKelime) - 5)
Else
MetinVeriBul = vbNullString
End If
Else
MetinVeriBul = vbNullString
End If
End Function
Forma mtn_alis ve mtn_satis isimlerinde metin kutusu ekleyin.