Mainos

Sen integrointi Windowsin kanssa mahdollistaa Internet Explorerin hallinnan useilla yllättävillä tavoilla Visual Basic for Applications (VBA) -skripti mistä tahansa sitä tukevasta sovelluksesta, kuten Word, Outlook tai Excel.

VBA-automatisointi - varsinkin IE: n kaltaisen selaimen automatisointi suoraan, kuten näet tästä artikkelista - on tarkalleen sellainen asia, joka nostaa VBA: n kätevästä ohjelmointikoodista tehokkaaksi automaatiokieleksi. Mikä tekee siitä niin mahtavaa on se, että monet sovellukset, joissa on säätimiä tai objekteja, luodaan yksinkertaisesti sillä tarkoituksella, että voit integroitua siihen VBA-ohjelmointikieltä käyttämällä.

Vuosien varrella olemme osoittaneet sinulle kuinka tehdä todella hienoja juttuja VBA: lla. Voit esimerkiksi käyttää sitä Lähetä sähköpostia suoraan Excel-tiedostosta Kuinka sähköpostit lähetetään Excel-taulukosta VBA-skriptejä käyttämälläKoodimallimme auttaa sinua määrittämään automatisoidut sähköpostit Excelissä käyttämällä CDO- ja VBA-komentosarjoja. Lue lisää

instagram viewer
, voit automaattisesti viedä Outlook-tehtävät Excel-taulukkoon Kuinka viedä Outlook-tehtäväsi Excel-tiedostoon VBA: n avullaOlitpa Microsoftin fani vai ei, yksi hyvä asia, joka voidaan sanoa ainakin MS Office -tuotteista, on kuinka helppo on integroida jokainen niistä toisiinsa ... Lue lisää , ja voit jopa Suunnittele oma Internet-selaimesi Kuinka luoda oma Internet-selain VBA: n avullaKun lopetat miettiä sitä, Internet-selain yksinkertaisimmassa muodossaan ei oikeastaan ​​ole niin vaikuttava sovellus. Tarkoitan kyllä, Internet on hämmästyttävä kenen tahansa standardien mukaan. Yhdistämisen käsite ... Lue lisää ! Se ei ole vain Microsoftin tuotteita. Löydät kolmansien osapuolien sovelluksia kaikenlaisilta toimittajilta, jotka ovat integroineet VBA: n ja yhteensopivat objektit ohjelmistoonsa - Adobe Acrobat SDK: sta ObjectARX SDK: lle AutoCAD: lle - on tapoja "kytkeä" enemmän sovelluksia kuin luultavasti ymmärtää.

Ajatus

Tässä tapauksessa sinun tulee yhdistää Excel IE: hen. Miksi IE? Koska Internet Explorer on integroitu käyttöjärjestelmään niin hyvin, että sinun ei todellakaan tarvitse tehdä paljon aloittaaksesi IE-automaation VBA: lla muissa Microsoftin tuotteissa, kuten Word tai Excel. Se on sisään kauneutta. Tässä artikkelissa näet kuinka tämä automaatio toimii, ja tulevassa artikkelissa näet kuinka tehdä lähes samanlainen asia muiden selainten kanssa.

Aion näyttää sinulle täällä olevan näennäisesti yksinkertainen sovellus, mutta siinä on paljon sovelluksia, joissa voit käyttää tätä koodia suorittamaan erilaisia ​​hienoja asioita selaimellasi. Tärkeintä on, että aiot luoda Excel-laskentataulukon tallentaaksesi kaikki avoimet selainikkunat nopeasti yhdellä napin painalluksella. Voit tallentaa tämän taulukon ja kävellä pois tai sammuttaa tietokoneesi.

Palaa takaisin tuntia tai kolme päivää myöhemmin, avaa laskentataulukko, napsauta toista painiketta ja tallennetut URL-osoitteet avautuvat uudelleen samassa määrässä välilehtiä kuin aiemmin. Tämän ilmeinen viileä käyttö olisi tallentaa koko kirjasto yleisiä online-työtilan asetuksia Exceliin. Sitten voit palauttaa työtilan yhdellä napin painalluksella tarvitsematta löytää kaikkia näitä URL-osoitteita uudelleen.

Internet Explorerin automatisointi VBA: lla

Ensimmäinen tehtävä on avata Excel (käytän vuotta 2013 - muut versiot ovat samanlaisia ​​VBA-ohjelmoinnissa) ja siirtyä Kehittäjä-valikkokohteeseen. Siellä näet insert-painikkeen, joka pudottaa kaikki hallintalaitteet. Valitse ActiveX-painikeohjain ja aseta se laskentataulukkoon.

IE-automation1

Oletettavasti olet jo luonut otsikon URL-osoitteille, jos haluat, mutta sinun ei tarvitse. Tämä on todella URL-tallennuskirjasto, joten otsikoilla ei ole väliä. Kun olet lisännyt painikkeen, kaksoisnapsauta sitä avataksesi VBA-editorin. Vasemmassa alakulmassa näet uuden painikkeen ominaisuudet.

Nimeä se uudelleen esimerkiksi cmdSaveURL-tiedostoiksi ja aseta kuvatekstiksi Tallenna URL-osoitteet - osoittaen, että tämä on painike kaikkien avoimien URL-osoitteiden tallentamiseksi IE-selaimesta.

Save-urls

Siirry seuraavaksi VBA-editorin yläosassa olevaan Työkalut-valikkoon, napsauta valikon Viitteet ja vieritä pitkää luetteloa löytääksesi ”Microsoft Internet Controls” -viitteen. Napsauta sen vasemmalla puolella olevaa valintaruutua ja valitse sitten OK.

IE-automation3

Nyt olet valmis rullaamaan. Toimittajan tekstialueella pitäisi nähdä rivi, jonka lukema on ”Yksityinen ali cmdSaveURLs_Click ()”. Jos et näe sitä, napsauta vasenta avattavaa ruutua tekstialueen yläpuolella ja etsi cmdSaveURL-luettelot. Valitse se, ja se luo Click () -toiminnon sinulle.

Tämä on koodi, jonka haluat lisätä tähän toimintoon:

im IE objektina. Dim shellWins kuin uusi ShellWindows. Dim IE_TabURL merkkijonona. Himmu intRowPosition Kuten kokonaisluku intRowPosition = 2 jokaiselle shellWins-sovelluksen IE_TabURL = IE.LocationURL Jos IE_TabURL <> vbNullString Sitten Sheet1.Range ("A" ja intRowPosition) = IE_TabURL intRowPosition = intRowPosition + 1 Lopeta, jos seuraava asettaa shellWins = Ei mitään. Aseta IE = ei mitään

Microsoft Scripting Runtime -viite tekee siitä, että pääset käyttämään ShellWindows-objektia, jonka avulla voit iteroida Windowsin kautta ja paikantaa avoimet IE-esiintymät. Tämä skripti etsii kaikki avoimet URL-osoitteet ja kirjoittaa ne Excel-taulukkoon.

IE-automation4

Joten teoriassa, jos työskentelet jotain kuten bloggaamista ja sinulla on avoinna muutama kohde, kuten tutkimusikkunat, blogin muokkausohjelma tai kalenteri-ikkuna - kaikki nämä välilehdet ovat aktiivisia. Jos joudut sammuttamaan tai lähtemään kiireessä, voi olla tuskallista säästää missä olet kopioimalla kaikki nämä URL-osoitteet.

IE-automation5

Napsauta vain uutta Excel-skriptiäsi Lataa URL-painikkeet ja lataa se suoraan taulukkoon.

IE-automation6

Yksi varoitus. Jos et käytä otsikkoriviä, sinun kannattaa vaihtaa rivi “intRowPosition = 2” arvoon “intRowPosition = 1”, ja tämä alkaa ensimmäisestä rivistä otsikkorivin ohittamisen sijasta.

Tallennetun selaimen työtilan avaaminen

Projektin seuraava vaihe on mennä toiseen suuntaan. Napsauta “Lataa URL-osoitteet” ja anna Excelin käynnistää IE ja lataa kaikki nämä taulukkoon tallennetut URL-osoitteet uudelleen. Täältä näet cmdLoadURLs_Click () -toiminnon pitäisi näyttää.

Dim IE kohteena. Dim shellWins kuin uusi ShellWindows. Dim IE_TabURL merkkijonona. Himma intRowPosition Kuten kokonaisluku intRowPosition = 2 Aseta IE = CreateObject ("InternetExplorer. Sovellus ") IE.Visible = Tosi IE.Navigate Sheet1.Range ("A" ja intRowPosition) Vaikka IE.Busy DoEvents. Wend intRowPosition = intRowPosition + 1 Sheet1.Range ("A" & intRowPosition) <> vbNullString IE.Navigate kanssa Sheet1.Range ("A" ja intRowPosition), CLng (2048) Vaikka IE.Busy DoEvents Wend intRowPosition = intRowPosition + 1. Wend Set IE = Ei mitään

Tässä on muutama vaihe, mutta kuten näette, koodi ei ole niin pitkä tai monimutkainen. Luo uusi IE-esiintymä, tee se näkyväksi (tämä avaa IE: tä latamatta URL: tä). Seuraavaksi se lataa luettelon ensimmäisen URL-osoitteen.

IE-automation8

Skriptin ”Vaikka IE.Busy” -osa odottaa, kunnes sivu on ladattu täyteen, ja siirry sitten muihin URL-osoitteisiisi laskentataulukko, avaa uuden välilehden (niin tekee ”CLng (2048)”, kunnes se osuu taulukon tyhjään soluun, sitten se pysähtyy avaamalla uusia välilehtiä. Tässä on IE-selaimeni, jossa kaikki neljä alkuperäistä välilehteä on palautettu Excel IE -automaatioskriptin avulla.

IE-automation9

Yhteenveto

Todellinen tavoitteeni tämän tekemisessä oli saada yksittäiset laskentataulukot perustamaan välilehtikokoelmia tehtäviin, kuten omaan blogiini tutkiminen ja kirjoittaminen, kirjoittaminen MakeUseOfilla, SEO-projektityön tekeminen sivustolla tai kokonainen luettelo muista rooleista tai projekteista, jotka vaativat tallennetun kokoelman välilehtiä, jotka ovat aina käytetty.

Laskentataulukon käyttäminen näiden asetusten tallentamiseen ja niiden automaattinen avaaminen selaimessa voi säästää paljon aikaa... ja se on myös aika hienoa.

Käytätkö minkäänlaista IE-automaatiota VBA-sovelluksissa? Näetkö muita hienoja käyttötapoja tällaiselle IE-ohjaukselle Excelistä? Jaa ajatuksesi ja palautesi alla olevassa kommenttiosassa!

Ryanilla on BSc-tutkinto sähkötekniikasta. Hän on työskennellyt 13 vuotta automaatiotekniikassa, 5 vuotta IT: ssä ja on nyt sovellusinsinööri. MakeUseOfin entinen toimitusjohtaja, hänet puhutaan kansallisissa konferensseissa datan visualisoinnista ja hänet on esitelty kansallisessa televisiossa ja radiossa.