VBA Web Taramaping Excel'e
โก Akฤฑllฤฑ รzet
Web kazฤฑmaping VBA รถrneฤiyletracInternet Explorer otomasyonunu kullanarak HTML web sayfalarฤฑndaki verileri doฤrudan Excel'e aktarma. Microsoft HTML Nesne Kรผtรผphanesi, bir sitede gezinmek, bir HTML tablosunu okumak ve toplanan deฤerleri รงalฤฑลma sayfasฤฑ hรผcrelerine yazmak iรงin kullanฤฑlฤฑr.

Veri Tarama Nedir?ping?
Veri taramasฤฑping Bu, eski sevgiliye yardฤฑmcฤฑ olan tekniktir.tracHTML web sayfasฤฑndan istediฤiniz bilgileri bilgisayarฤฑnฤฑzdaki yerel bir dosyaya kaydedebilirsiniz. Normalde bu yerel dosya bir Excel dosyasฤฑ, bir Word dosyasฤฑ veya baลka bir formatta olabilir. Microsoft Ofis uygulamasฤฑ. Web sayfasฤฑndan kritik bilgilerin aktarฤฑlmasฤฑna yardฤฑmcฤฑ olur.
Veri taramasฤฑping ฤฐnternete gรผnlรผk olarak baฤฤฑmlฤฑ olan araลtฤฑrma tabanlฤฑ bir projede bu durum deฤerli hale gelir. รrnek olarak, bir finans web sitesinden piyasa bilgilerini VBA kullanarak Excel sayfasฤฑna รงeken bir Excel makrosu รงalฤฑลtฤฑran bir gรผnlรผk iลlemciyi ele alalฤฑm.
Veri Kazฤฑma ฤฐลleminden รnce Excel Makrosu Nasฤฑl Hazฤฑrlanฤฑr?ping (ฤฐnternet Gezgini)
Veri tarama iลlemine baลlamadan รถnce Excel makro dosyasฤฑnda yerine getirilmesi gereken bazฤฑ รถn koลullar bulunmaktadฤฑr.ping proses.
Bu รถn koลullar aลaฤฤฑdaki gibidir:
) 1 Adฤฑm Excel tabanlฤฑ bir makro aรงฤฑn ve Excel'in Geliลtirici seรงeneklerine eriลin.
) 2 Adฤฑm Geliลtirici ลeridi altฤฑnda Visual Basic seรงeneฤini seรงin.
) 3 Adฤฑm Yeni bir modรผl ekleyin.
) 4 Adฤฑm Yeni bir alt program baลlatฤฑn.
Sub test() End Sub
Modรผlรผn sonucu aลaฤฤฑdaki gibi olacaktฤฑr:
) 5 Adฤฑm Araรงlar sekmesi altฤฑndaki Referans seรงeneฤine eriลin ve referans gรถsterin. Microsoft HTML Nesne Kitaplฤฑฤฤฑ ve Microsoft ฤฐnternet Kontrolleri.
Aลaฤฤฑdaki dosyalarฤฑn modรผle referans olarak eklenmesi gerekmektedir, รงรผnkรผ bu dosyalar Internet Explorer'ฤฑ aรงmaya ve makro komut dosyasฤฑ oluลturmayฤฑ kolaylaลtฤฑrmaya yardฤฑmcฤฑ olur.
Artฤฑk Excel dosyasฤฑ Internet Explorer ile etkileลime geรงmeye hazฤฑr. Sonraki adฤฑm, veri taramasฤฑnฤฑ kolaylaลtฤฑran makro komut dosyalarฤฑnฤฑ entegre etmektir.ping HTML formatฤฑnda.
Excel VBA Kullanarak Internet Explorer Nasฤฑl Aรงฤฑlฤฑr?
) 1 Adฤฑm Alt programda deฤiลkeni aลaฤฤฑdaki gibi baลlatฤฑn.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument
) 2 Adฤฑm VBA kullanarak Internet Explorer'ฤฑ aรงmak iรงin ie.Visible = True yazฤฑn ve F5 tuลuna basฤฑn.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument ie.Visible = True
Modรผl aลaฤฤฑdaki gibi gรถrรผnecektir:
VBA Kullanarak Internet Explorer'da Bir Web Sitesi Nasฤฑl Aรงฤฑlฤฑr?
ฤฐลte VBA kullanarak Internet Explorer'da bir web sitesini aรงmanฤฑn adฤฑmlarฤฑ.
) 1 Adฤฑm Excel VBA kullanarak Internet Explorer'a eriลebildikten sonraki adฤฑm, VBA kullanarak bir web sitesine eriลmektir. Bu, Navigate รถzniteliฤi sayesinde kolaylaลtฤฑrฤฑlฤฑr; bu รถznitelikte, URL รift tฤฑrnak iรงinde iletilir. Gรถsterilen adฤฑmlarฤฑ izleyin.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.Navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE
) 2 Adฤฑm Makroyu รงalฤฑลtฤฑrmak iรงin F5 tuลuna basฤฑn. Aลaฤฤฑdaki web sayfasฤฑ gรถsterildiฤi gibi aรงฤฑlacaktฤฑr.
Artฤฑk Excel makrosu kazฤฑma iลlemini gerรงekleลtirmeye hazฤฑr.ping ฤฐลlevler. Sonraki adฤฑmda bilgilerin nasฤฑl kullanฤฑlabileceฤi gรถsteriliyor.tracInternet Explorer'dan VBA kullanarak ted.
VBA Kullanarak Bir Web Sitesinden Bilgi Nasฤฑl รekilir?
Diyelim ki gรผnlรผk iลlem yapan bir yatฤฑrฤฑmcฤฑ, internet sitesindeki verilere her gรผn eriลmek istiyor. Yatฤฑrฤฑmcฤฑ her dรผฤmeye tฤฑkladฤฑฤฤฑnda, piyasa verilerinin otomatik olarak Excel'e aktarฤฑlmasฤฑ gerekiyor.
Yukarฤฑdaki web sitesinden, bir รถฤeyi incelemek ve verilerin nasฤฑl yapฤฑlandฤฑrฤฑldฤฑฤฤฑnฤฑ gรถzlemlemek gereklidir.
) 1 Adฤฑm Aลaฤฤฑdaki HTML kodunun kaynak koduna Ctrl + tuลlarฤฑna basarak eriลebilirsiniz. Shift +I.
<table class="datatable">
<thead>
<tr>
<th>Company</th>
<th>Group</th>
<th>Pre Close (Rs)</th>
<th>Current Price (Rs)</th>
<th>% Change</th>
</tr>
Kaynak kod aลaฤฤฑdaki gibidir:
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.Navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE Set doc = ie.document
Gรถrdรผฤรผnรผz gibi, veriler tek bir HTML tablosu olarak yapฤฑlandฤฑrฤฑlmฤฑลtฤฑr. Bu nedenle, HTML tablosundan tรผm verileri รงekmek iรงin, verileri bir koleksiyon olarak toplayan bir makro tasarlamanฤฑz gerekir.
Ardฤฑndan, toplanan veriler Excel'e yapฤฑลtฤฑrฤฑlฤฑr. ฤฐstenilen sonuรงlara ulaลmak iรงin aลaฤฤฑdaki adฤฑmlarฤฑ uygulayฤฑn.
) 2 Adฤฑm Alt programda HTML belgesini baลlatฤฑn.
) 3 Adฤฑm HTML belgesinde bulunan koleksiyon รถฤesini baลlatฤฑn.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.Navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE Set doc = ie.document Set ecoll = doc.getElementsByTagName("table")
) 4 Adฤฑm Gรถsterildiฤi gibi iรง iรงe dรถngรผ yardฤฑmฤฑyla Excel sayfasฤฑndaki hรผcreleri baลlatฤฑn.
Sub test() Dim ie As New InternetExplorer Dim doc As New HTMLDocument Dim ecoll As Object ie.Visible = True ie.Navigate "https://demo.guru99.com/test/web-table-element.php" Do DoEvents Loop Until ie.readyState = READYSTATE_COMPLETE Set doc = ie.document Set ecoll = doc.getElementsByTagName("table")
Excel'de veriler, sayfanฤฑn Range รถzniteliฤi veya Cells รถzniteliฤi kullanฤฑlarak baลlatฤฑlabilir. VBA betiฤinin karmaลฤฑklฤฑฤฤฑnฤฑ azaltmak iรงin, koleksiyon verileri รงalฤฑลma kitabฤฑndaki Sheet 1'in Cells รถzniteliฤine gรถre baลlatฤฑlฤฑr.
Makro betiฤi hazฤฑr olduฤunda, alt programฤฑ bir Excel dรผฤmesine atayฤฑn ve VBA modรผlรผnden รงฤฑkฤฑn. Dรผฤmeyi Yenile veya uygun bir adla etiketleyin. Bu รถrnekte, dรผฤme Yenile olarak etiketlenmiลtir.
) 5 Adฤฑm Aลaฤฤฑdaki รงฤฑktฤฑyฤฑ gรถrmek iรงin Yenile dรผฤmesine basฤฑn.
) 6 Adฤฑm Excel'deki sonuรงlarฤฑ Internet Explorer'daki sonuรงlarla karลฤฑlaลtฤฑrฤฑn.











