13/08/2020, 21:13
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.