Microsoft Excel'de Dinamik Olarak Anlık Bitcoin Değerlerine Ulaşmak (JSON ile)
Genel Açıklama:
Bu derste dinamik yani otomatik olarak dolar ve TL cinsinden anlık bitcoin değerlerini nasıl Microsoft Excel çalışma sayfamıza yükleyebileceğimiz anlatılmaktadır. Kısacası bu derste microsoft bitcoin kavramlarının nasıl yanyana gelmesi açıklanmaya çalışılacaktır.
Bu işlemi yapmak için öncelikle birçok kur cinsinden bitcoin değerlerini anlık olarak üreten bir web sitesinden değerleri alacağız. Daha sonra bu web sitesinin JSON formatında oluşturduğu sonuçları excel çalışma sayfamızda makro kod yazarak okutacağız.
Ders Videoları
Excel Çalışma Dosyasının Hazırlanması
İşlemlerimize başlamadan önce ilk yapmamız gereken Microsoft Excel çalışma dosyamızın hazırlanmasıdır. Varsayılan olarak excel çalışma dosyamız JSON sonuçlarını çözümleyecek kütüphaneye sahip değildir. Dolayısıyla ilk önce bu kütüphanenin excel çalışma dosyamıza dahil edilmesi gerekmektedir.
Aşağıdaki resimlerden görüleceği üzere ilk önce EXCEL VBA - JSON v2.2.3 kütüphanesini bilgisayarımıza indiriyoruz. Daha sonra bu dosyayı excel çalışma kitabımıza IMPORT ediyoruz. (Aşağıda yer alan birinci foto yada çalışma videolarında detaylı bir şekilde anlatılmaktadır.)
IMPORT işlemini yaptıktan sonra yapmamız gereken son işlemde excel çalışma sayfamıza MICROSOFT SCRIPTING RUNTIME referansını eklemeiz gerekmektedir.
TOOLS --> REFERENCES --> MICROSOFT SCRIPTING RUNTIME
BITCOIN DEĞERLERİNİ JSON FORMATINDA ALMAK
COIN - DESK sitesi anlık olarak BITCOIN indeks değerlerini JSON formatında üreten bir sitedir.Burada anlık BITCOIN değerlerinin yanında tarihsel veriler olsun yada farklı kurlara göre BITCOIN değerleri bulunmaktadır. Örneğin siz sadece TR cinsinden değilde aynı zamanda hem EURO hemde DOLAR cinsinden de BITCOIN değerlerine ulaşabilirsiniz. Aşağıda hem bugünkü hem bir önceki günkü hemde dolar cinsinden BITCOIN değerlerine ulaşabileceğiniz linkleri paylaşıyorum.
https://api.coindesk.com/v1/bpi/currentprice.json
https://api.coindesk.com/v1/bpi/historical/close.json?for=yesterday
https://api.coindesk.com/v1/bpi/currentprice/TRY.json
ANLIK OLARAK ALDIĞIMIZ BITCOIN DEĞERLERİNİ EXCEL DOSYASINA YÜKLEMEK
Son aşamada ise JSON formatında ulaştığımız ve daha önceden gerekli kütüphaneyi yüklediğimiz excel çalışma dosyasına gerekli makro kodları ekleyerek sonuçları almak. Örnek çalışma dosyasının indirme linkini yukarıda da paylaştım. Ancak siz sıfırdan yeni açılmış bir dosya ile çalışmak isterseniz aşağıdaki makro kodları excel dosyanıza eklemeniz gerekmektedir.
Sub getValues() todayBitcoin yesterdayBitcoin End Sub Private Function todayBitcoin() Dim httpObject As Object Set httpObject = CreateObject("MSXML2.XMLHTTP") Dim currentDate As String Dim TRYValue As String Dim USDValue As String Dim sGetResult As String sURL = "https://api.coindesk.com/v1/bpi/currentprice/TRY.json" sRequest = sURL httpObject.Open "GET", sRequest, False httpObject.send sGetResult = httpObject.ResponseText Dim oJSON As Object Set oJSON = JsonConverter.ParseJson(sGetResult) currentDate = oJSON("time")("updated") TRYValue = oJSON("bpi")("TRY")("rate_float") USDValue = oJSON("bpi")("USD")("rate_float") Worksheets(2).Range("C3").Value = currentDate Worksheets(2).Range("D3").Value = CDbl(USDValue) Worksheets(2).Range("E3").Value = CDbl(TRYValue) End Function Private Function yesterdayBitcoin() Dim httpObject As Object Set httpObject = CreateObject("MSXML2.XMLHTTP") Dim yesterday As String Dim USDValue As String Dim sGetResult As String Dim yesterday_date As String sURL = "https://api.coindesk.com/v1/bpi/historical/close.json?for=yesterday" yesterday_date = Date - 1 yesterday_date = Format(yesterday_date, "yyyy-mm-dd") sRequest = sURL httpObject.Open "GET", sRequest, False httpObject.send sGetResult = httpObject.ResponseText Dim oJSON As Object Set oJSON = JsonConverter.ParseJson(sGetResult) yesterday = oJSON("time")("updated") USDValue = oJSON("bpi")(yesterday_date) Worksheets(2).Range("C4").Value = yesterday Worksheets(2).Range("D4").Value = CDbl(USDValue) End Function
Hiç yorum yok:
Yorum Gönder