Çözüldü Güncel altın fiyatları

Katılım
17 Haziran 2008
Mesajlar
1,836
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Merhaba arkadaşlar;

https://altin.in/

Bu sitedeki güncel altın alış fiyatlarını ve eski tarihli fiyatları ( tarih girerek )

Mesaj kutusunda nasıl alabiliriz ?

Bir kaç deneme yaptım. Fakat sağlıklı sonuç alamadım.


Yardımcı arkadaşa şimdiden Teşekkür ederim.
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
Gram altın içinse aşağıdaki kodları deneyin,
"tr" tanımını siz ayarlarsınız
Kod:
tr = Date 
yıl = Year(tr)
ay = Format(tr, "mm")
gun = Format(tr, "dd")
Set ie = CreateObject("internetexplorer.application")
ie.Visible = False: ie.Navigate "https://altin.in/arsiv/" & yıl & "/" & ay & "/" & gun
Do While ie.Busy And Not ie.ReadyState = READYSTATE_COMPLETE
DoEvents: Loop:
Application.Wait (Now + TimeValue("0:00:03"))
For Each j In ie.document.getElementById("icerik").getElementsByClassName("kurlar bordernone")
If j.getElementsByTagName("li")(0).innertext = "Gram Altın Fiyatları" Then
MsgBox "Gram Altın Alış  : " & j.getElementsByTagName("li")(1).innertext & vbCrLf & "Gram Altın Satış : " & j.getElementsByTagName("li")(2).innertext
exit for
end if
Next
ie.Quit
 
Son düzenleme:

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,593
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Sayın Plint,
Tarih değişse de gelen rakamlar değişmiyor. Neden olabilir?
Saygılarımla
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,593
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Teşekkür ederim arkadaşım
Saygılarımla
 
Katılım
17 Haziran 2008
Mesajlar
1,836
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
PLİNT;

Hocam kod için teşekkürler.

Set ie = CreateObject("internetexplorer.application")

yerine;

Set obj = CreateObject("MSXML2.XMLHTTP") kullansak kodları nasıl değiştirmeliyiz ?

kurlar bordernone, li, icerik Bu değişkenleri nasıl tayin ettiniz ?
 
Son düzenleme:
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
PLİNT;

Set obj = CreateObject("MSXML2.XMLHTTP") kullansak kodları nasıl değiştirmeliyiz ?
Merhaba
Aşağıdaki gibi deneyin

Kod:
Dim a As Object: Set a = CreateObject("htmlFile")
Dim x As Object, tr As Date, yıl As String, ay As String, gun As String
tr = Date
yıl = Year(tr)
ay = Format(tr, "mm")
gun = Format(tr, "dd")
Set x = CreateObject("MSXML2.XMLHTTP")
x.Open "Get", "https://altin.in/arsiv/" & yıl & "/" & ay & "/" & gun & """, False"
x.send
Application.Wait (Now + TimeValue("0:00:05")) 'internet hızına göre
a.body.innerHTML = x.responseText
Set c = a.getElementById("icerik")
On Error Resume Next
'msgbox c.innertext 'incelemesi ile aşağıdaki
MsgBox c.Children(0).Children(4).Children(10).innertext
x.Close
Set x = Nothing
PLİNT;
kurlar bordernone, li, icerik Bu değişkenleri nasıl tayin ettiniz ?
Kodlarla "id", "classname" değişkenlerini öğrenme imkanı var ama "firefox" ta "öğeyi incele" ile buluyorum
"ie" de Araçlar/F12 Geliştirici arçaları ile bulunabilir.
 
Katılım
17 Haziran 2008
Mesajlar
1,836
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Merhaba
Aşağıdaki gibi deneyin

Kod:
Dim a As Object: Set a = CreateObject("htmlFile")
Dim x As Object, tr As Date, yıl As String, ay As String, gun As String
tr = Date
yıl = Year(tr)
ay = Format(tr, "mm")
gun = Format(tr, "dd")
Set x = CreateObject("MSXML2.XMLHTTP")
x.Open "Get", "https://altin.in/arsiv/" & yıl & "/" & ay & "/" & gun & """, False"
x.send
Application.Wait (Now + TimeValue("0:00:05")) 'internet hızına göre
a.body.innerHTML = x.responseText
Set c = a.getElementById("icerik")
On Error Resume Next
'msgbox c.innertext 'incelemesi ile aşağıdaki
MsgBox c.Children(0).Children(4).Children(10).innertext
x.Close
Set x = Nothing

Kodlarla "id", "classname" değişkenlerini öğrenme imkanı var ama "firefox" ta "öğeyi incele" ile buluyorum
"ie" de Araçlar/F12 Geliştirici arçaları ile bulunabilir.

Hocam çok teşekkür ederim. Kahvedeyim de, eve geçince kodları test edeceğim..
 
Katılım
17 Haziran 2008
Mesajlar
1,836
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Altın Üyelik Bitiş Tarihi
26-03-2020
Plint ;


Hocam çok teşekkür ederim. elinize sağlık. Tamamdır..

"id", "classname" her web sitesinde sabitmidir ?
 

baydeniro

Altın Üye
Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Altın Üyelik Bitiş Tarihi
20-02-2025
Merhaba
Gram altın içinse aşağıdaki kodları deneyin,
"tr" tanımını siz ayarlarsınız
Kod:
tr = Date
yıl = Year(tr)
ay = Format(tr, "mm")
gun = Format(tr, "dd")
Set ie = CreateObject("internetexplorer.application")
ie.Visible = False: ie.Navigate "https://altin.in/arsiv/" & yıl & "/" & ay & "/" & gun
Do While ie.Busy And Not ie.ReadyState = READYSTATE_COMPLETE
DoEvents: Loop:
Application.Wait (Now + TimeValue("0:00:03"))
For Each j In ie.document.getElementById("icerik").getElementsByClassName("kurlar bordernone")
If j.getElementsByTagName("li")(0).innertext = "Gram Altın Fiyatları" Then
MsgBox "Gram Altın Alış  : " & j.getElementsByTagName("li")(1).innertext & vbCrLf & "Gram Altın Satış : " & j.getElementsByTagName("li")(2).innertext
exit for
end if
Next
ie.Quit
Üstad kod paylaşımı için teşekkürler
 
Katılım
18 Nisan 2020
Mesajlar
4
Excel Vers. ve Dili
2013 ve Türkçe
Merhaba
Gram altın içinse aşağıdaki kodları deneyin,
"tr" tanımını siz ayarlarsınız
Kod:
tr = Date
yıl = Year(tr)
ay = Format(tr, "mm")
gun = Format(tr, "dd")
Set ie = CreateObject("internetexplorer.application")
ie.Visible = False: ie.Navigate "https://altin.in/arsiv/" & yıl & "/" & ay & "/" & gun
Do While ie.Busy And Not ie.ReadyState = READYSTATE_COMPLETE
DoEvents: Loop:
Application.Wait (Now + TimeValue("0:00:03"))
For Each j In ie.document.getElementById("icerik").getElementsByClassName("kurlar bordernone")
If j.getElementsByTagName("li")(0).innertext = "Gram Altın Fiyatları" Then
MsgBox "Gram Altın Alış  : " & j.getElementsByTagName("li")(1).innertext & vbCrLf & "Gram Altın Satış : " & j.getElementsByTagName("li")(2).innertext
exit for
end if
Next
ie.Quit
Hocam merhaba,

Öncelikle elinize sağlık.
Bu tabloyu mesajda çıkartmak yerine, x bir sheette A1'e yazdırmak istersek ne yapmamız gerekiyor?
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,593
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba,
tr = [A1].value
yazın yeter
iyi çalışmalar
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,655
Excel Vers. ve Dili
Microsoft 365 Tr-64
Kod:
'Alış fiyatı için
Worksheets(x).[A1]= j.getElementsByTagName("li")(1).innertext
'Satış fiyatı için
Worksheets(x).[A2]= j.getElementsByTagName("li")(2).innertext
'x olan yere sayfa isminizi girersiniz.
 
Katılım
18 Nisan 2020
Mesajlar
4
Excel Vers. ve Dili
2013 ve Türkçe
Hocalar merhaba tekrardan,

Öncelikle hızlı desteğiniz için teşekkürler.
Makro ile çok içli dışlı değilim, belirtilen kodu nereye eklemem gerekiyor?

Kod:
Sub ALTIN_CEK()

tr = Date

yıl = Year(tr)

ay = Format(tr, "mm")

gun = Format(tr, "dd")

Set ie = CreateObject("internetexplorer.application")

ie.Visible = False: ie.Navigate "https://altin.in/arsiv/" & yıl & "/" & ay & "/" & gun

Do While ie.Busy And Not ie.ReadyState = READYSTATE_COMPLETE

DoEvents: Loop:

For Each j In ie.document.getElementById("icerik").getElementsByClassName("kurlar bordernone")

If j.getElementsByTagName("li")(0).innertext = "Gram Altın Fiyatları" Then

MsgBox "Gram Altın Alış  : " & j.getElementsByTagName("li")(1).innertext & vbCrLf & "Gram Altın Satış : " & j.getElementsByTagName("li")(2).innertext

Exit For

End If

Next

ie.Quit

End Sub
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,655
Excel Vers. ve Dili
Microsoft 365 Tr-64
Bu tabloyu mesajda çıkartmak yerine, x bir sheette A1'e yazdırmak istersek ne yapmamız gerekiyor?

MsgBox "Gram Altın Alış : " & j.getElementsByTagName("li")(1).innertext & vbCrLf & "Gram Altın Satış : " & j.getElementsByTagName("li")(2).innertext

Bu satırın yerine yazabilirsiniz.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,291
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Özel kişi
Sayfa ismini tırnak içinde yazın ..... "Altın"

.
 
Üst