Žiniatinklio grandymas naudojant VBA

Turinys:

Anonim

Kas yra duomenų nuskaitymas?

Duomenų nuskaitymas yra technika, padedanti išskirti norimą informaciją iš HTML tinklalapio į vietinį failą, esantį jūsų vietiniame kompiuteryje. Paprastai vietinis failas gali atitikti „Excel“ failą, „Word“ failą arba pasakyti bet kurią „Microsoft Office“ programą. Tai padeda nukreipti svarbiausią informaciją iš tinklalapio.

Duomenų nuskaitymas tampa paprastas kasdien dirbant su moksliniais tyrimais pagrįstą projektą, o toks projektas yra grynai priklausomas nuo interneto ir svetainės. Norėdami toliau iliustruoti temą, paimkime dienos prekybininko pavyzdį, kuris valdo „Excel“ makrokomandą, norėdamas rinkti informaciją iš finansų svetainės į „Excel“ lapą naudodamas VBA.

Šioje pamokoje sužinosite:

  • Kas yra duomenų nuskaitymas?
  • Kaip paruošti „Excel Macro“ prieš atliekant duomenų nuskaitymą naudojant „Internet Explorer“?
  • Kaip atidaryti „Internet Explorer“ naudojant „Excel VBA“?
  • Kaip atidaryti svetainę „Internet Explorer“ naudojant VBA?
  • Kaip nuskaityti informaciją iš svetainės naudojant VBA?

Kaip paruošti „Excel Macro“ prieš atliekant duomenų nuskaitymą naudojant „Internet Explorer“?

Yra tam tikrų sąlygų, kurias reikia atlikti „Excel“ makrokomandoje, prieš pradedant duomenų kaupimo „Excel“ procesą.

Šios sąlygos yra šios:

1 žingsnis. Atidarykite „Excel“ pagrįstą makrokomandą ir pasiekite „Excel“ kūrėjo parinktį.

2 žingsnis) Pasirinkite „Visual Basic“ parinktį po kūrėjo juosta.

3 žingsnis) Įdėkite naują modulį.

4 žingsnis. Inicializuokite naują paprogramę

Sub test()End sub

Modulio rezultatas būtų toks: -

5 žingsnis. Prieiga prie nuorodos parinkties skirtuke įrankis ir nuoroda į „Microsoft HTML Object Library“ ir „Microsoft Internet“ valdymą.

Šie moduliai turi būti susieti su moduliu, nes jis padeda atidaryti „Internet Explorer“ ir palengvina makrokomandų scenarijų kūrimą.

Dabar „Excel“ failas yra paruoštas sąveikai su „Internet Explorer“. Kitas žingsnis būtų įtraukti makrokomandų scenarijus, kurie palengvintų duomenų nuskaitymą HTML.

Kaip atidaryti „Internet Explorer“ naudojant „Excel VBA“?

1 žingsnis. Inicializuokite kintamąjį paprogramėse, kaip parodyta žemiau

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocument

2 žingsnis. Norėdami atidaryti „Internet Explorer“ naudodami VBA, parašykite ie visible = true ir paspauskite F5.

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentIe.visible=true

Modulis atrodytų taip: -

Kaip atidaryti svetainę „Internet Explorer“ naudojant VBA?

Čia pateikiami veiksmai, kaip atidaryti svetainę „Internet Explorer“ naudojant VBA

1 žingsnis) Kai galėsite pasiekti „Internet Explorer“ naudodami „Excel VBA“, kitas žingsnis apims prieigą prie svetainės naudojant VBA. Tai palengvina „Navigate Attribute“, kai URL turi perduoti kaip dvigubas atributo kabutes. Atlikite šiuos veiksmus, kaip parodyta.

Sub test()Dim, ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate"http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETE

2 žingsnis) - Norėdami atlikti makrokomandą, paspauskite F5. Šis tinklalapis bus atidarytas kaip rodomas

Dabar „Excel“ makrokomanda yra pasirengusi atlikti kasymo funkcijas. Kitas žingsnis parodys, kaip informaciją galima išgauti iš „Internet Explorer“ naudojant VBA.

Kaip nuskaityti informaciją iš svetainės naudojant VBA?

Tarkime, dienos prekybininkas nori kasdien prisijungti prie interneto duomenų. Kiekvieną kartą, kai prekybininkas paspaudžia mygtuką, jis turėtų automatiškai ištraukti rinkos duomenis į „Excel“.

Iš pirmiau nurodytos svetainės reikėtų apžiūrėti elementą ir stebėti, kaip duomenys yra struktūrizuoti.

1 žingsnis. Pasiekite žemiau pateiktą HTML šaltinio kodą paspausdami „Control“ + „Shift“ + I

Šaltinio kodas būtų toks:

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate "http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETESet doc = ie.document

Kaip matyti, kad duomenys yra sudaryti kaip viena HTML lentelė. Todėl norint ištraukti iš HTML lentelės visus duomenis, reikės sukurti makrokomandą, kuri renka duomenis kolekcijos pavidalu.

Tada kolekcija būtų įklijuota į „Excel“. Norint pasiekti norimus rezultatus, atlikite šiuos veiksmus:

2 žingsnis. Inicializuokite HTML dokumentą paprogramėje

VBA modulis atrodytų taip: -

3 žingsnis. Inicializuokite kolekcijos elementą, esantį HTML dokumente

VBA modulis atrodytų taip: -

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate "http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETESet doc = ie.documentSet ecoll = doc.getElementsByTagName("table")

4 žingsnis. Inicializuokite „Excel“ lapo ląsteles naudodami įdėtą kilpą, kaip parodyta

VBA modulis atrodytų taip: -

Sub test()Dim ie As New InternetExplorerDim doc As New HTMLDocumentDim ecoll As Objectie.Visible = Trueie.navigate "http://demo.guru99.com/test/web-table-element.php"DoDoEventsLoop Until ie.readyState = READYSTATE_COMPLETESet doc = ie.documentSet ecoll = doc.getElementsByTagName("table")

„Excel“ gali būti inicijuojamas naudojant „Excel“ lapo diapazono atributą arba per „Excel“ lapo langelių atributą. Siekiant sumažinti VBA scenarijaus sudėtingumą, rinkimo duomenys inicijuojami pagal darbaknygėje esantį 1 lapo „Excel“ langelių atributą.

Kai makrokomandos scenarijus bus paruoštas, perduokite ir priskirkite paprogramę „Excel“ mygtukui ir išeikite iš VBA modulio. Pažymėkite mygtuką kaip atnaujinimą arba bet kokį tinkamą vardą, kurį būtų galima inicijuoti. Šiame pavyzdyje mygtukas inicijuojamas kaip atnaujinimas.

5 žingsnis) Paspauskite atnaujinimo mygtuką, kad gautumėte žemiau minėtą išvestį

6 žingsnis) Palyginkite „Excel“ rezultatus su „Internet Explorer“ rezultatais

Santrauka:

  • Duomenų kasimas leidžia vartotojui iškrapštyti tik tą informaciją, kurios jis nori.
  • Nubraukimą galima atlikti naudojant „Internet Explorer“.
  • „Internet Explorer“ atveju nuskaitymo procesas yra lėtesnis; tačiau vartotojui pateikia norimus rezultatus.
  • Nubraukimas turėtų būti atliekamas labai atsargiai ir atsargiai, nes tai gali pakenkti ir sudužti sistemą, kuri naudojama grandant.
CompanyGroupPre Close (Rs)Current Price (Rs)% Change