Skelbimas

Jos integracija į „Windows“ leidžia valdyti „Internet Explorer“ keliais netikėtais būdais „Visual Basic for Applications“ (VBA) scenarijus iš bet kurios jį palaikančios programos, pvz., „Word“, „Outlook“ ar „Excel“.

VBA automatizavimas - ypač tiesiogiai automatizuojantis tokią naršyklę kaip IE, kaip pamatysite šiame straipsnyje - yra tiksliai dalykas, paverčiantis VBA iš patogaus programavimo scenarijaus į galingą automatizavimo kalbą. Stebina tai, kad daugelis programų su valdikliais ar objektais yra sukurtos vien tam, kad leistų integruotis į jas naudojant VBA programavimo kalbą.

Bėgant metams mes jums parodėme, kaip su VBA padaryti tikrai nuostabių dalykų. Pavyzdžiui, galite tai naudoti siųsti el. laiškus tiesiai iš „Excel“ Kaip siųsti el. Laiškus iš „Excel“ skaičiuoklės naudojant VBA scenarijusMūsų kodo šablonas padės nustatyti automatizuotus el. Laiškus iš „Excel“, naudojant bendradarbiavimo duomenų objektus (CDO) ir VBA scenarijus. Skaityti daugiau , galite automatiškai eksportuoti „Outlook“ užduotis į „Excel“ skaičiuoklę

instagram viewer
Kaip eksportuoti "Outlook" užduotis į "Excel" naudojant VBANesvarbu, ar esate „Microsoft“ gerbėjas, ar ne, vienas geras dalykas, kurį galima pasakyti bent jau apie „MS Office“ produktus, yra tai, kaip lengva integruoti kiekvieną iš jų ... Skaityti daugiau , ir jūs netgi galite kurkite savo interneto naršyklę Kaip sukurti savo pagrindinę interneto naršyklę naudojant VBAKai jūs tikrai nustojate galvoti apie tai, paprasčiausia interneto naršyklė nėra tokia įspūdinga programa. Aš turiu galvoje, taip, internetas stebina bet kokiais standartais. Sąvokos susiejimas ... Skaityti daugiau ! Tai nėra vien tik „Microsoft“ produktai. Yra trečiųjų šalių programų iš visų pardavėjų, kurie savo programinėje įrangoje yra integruoti VBA ir suderinamus objektus - iš „Adobe Acrobat SDK“ į „AutoCAD“ „ObjectARX SDK“ - yra būdų, kaip „prijungti“ daugiau programų nei turbūt suvokti.

Idėja

Tokiu atveju ketinate prijungti „Excel“ su IE. Kodėl aš? Kadangi „Internet Explorer“ yra taip gerai integruota su operacine sistema, kad jums tikrai nereikia daug nuveikti, norint pradėti naudoti IE automatizavimą VBA kituose „Microsoft“ produktuose, tokiuose kaip „Word“ ar „Excel“. Tai yra grožis. Šiame straipsnyje pamatysite, kaip ši automatika veikia, o būsimame straipsnyje pamatysite, kaip atlikti beveik tą patį dalyką su kitomis naršyklėmis.

Tai, ką čia jums parodysiu, yra iš pažiūros paprasta programa, tačiau joje yra daugybė programų, kuriose galėtumėte naudoti šį kodą, naudodamiesi įvairiais įdomiais dalykais naudodami savo naršyklę. Esmė ta, kad ketinate sukurti „Excel“ skaičiuoklę, kad vienu mygtuko paspaudimu greitai išsaugotumėte visus atidarytus naršyklės langus. Galite išsaugoti šią skaičiuoklę ir išeiti ar išjungti kompiuterį.

Grįžkite po valandos ar trijų dienų, atidarykite skaičiuoklę, spustelėkite kitą mygtuką ir išsaugoti URL vėl atsidarys tame pačiame skirtuke, kaip ir anksčiau. Akivaizdu, kad tai labai naudinga būtų saugoti visą įprastų internetinių darbo vietos sąrankų biblioteką „Excel“. Tada galite atkurti tą darbo vietą vienu mygtuko paspaudimu, nebegalėdami rasti visų tų URL.

„Internet Explorer“ automatizavimas naudojant VBA

Pirmas dalykas, kurį reikia padaryti, yra atidaryti „Excel“ (aš naudoju 2013 m. - kitos versijos yra panašios, kai kalbama apie VBA programavimą) ir eiti į meniu punktą „Kūrėjas“. Jo viduje pamatysite įterpimo mygtuką, kuris nuleidžia visus valdiklius. Pasirinkite „ActiveX“ mygtuko valdiklį ir įdėkite jį į savo skaičiuoklę.

IE-automatizavimas1

Turbūt jau sukūrėte URL antraštę, jei norite, bet to neprivalote. Tai tikrai URL saugojimo biblioteka, todėl antraštės neturi jokios reikšmės. Pridėję mygtuką dukart spustelėkite jį, kad atidarytumėte VBA redaktorių. Apatiniame kairiajame kampe matysite naujojo mygtuko ypatybes.

Pervardykite jį į kažką panašaus į „cmdSaveURL“ ir nustatykite antraštę į „Išsaugoti URL“ - nurodant, kad tai mygtukas, kuriuo norite išsaugoti visus atidarytus URL iš savo IE naršyklės.

išsaugoti URL

Tada eikite į „VBA“ redaktoriaus viršuje esantį meniu „Įrankiai“, meniu spustelėkite „Nuorodos“ ir slinkite žemyn ilguoju sąrašu žemyn, kad rastumėte nuorodą „Microsoft Internet Controls“. Spustelėkite žymės langelį, esantį jo kairėje, tada spustelėkite Gerai.

IE-automatizavimas3

Dabar esate pasiruošęs riedėti. Redaktoriaus teksto srityje turėtumėte pamatyti eilutę „Private Sub cmdSaveURLs_Click ()“. Jei to nematote, spustelėkite kairįjį išskleidžiamąjį laukelį virš teksto srities ir sąraše raskite „cmdSaveURL“. Pasirinkite jį ir jis sukurs jums spustelėjimo () funkciją.

Tai yra kodas, kurį norite įterpti į tą funkciją:

im IE kaip objektas. Dim shellWins kaip nauji „ShellWindows“. Dim IE_TabURL kaip styga. Dim intRowPosition kaip sveikasis skaičius intRowPosition = 2 kiekvienam IE „shellWins“ IE_TabURL = IE.LocationURL, jei IE_TabURL <> „vbNullString“ tada „Sheet1.Range“ („A“ ir intRowPosition) = IE_TabURL intRowPosition = intRowPosition + 1 pabaiga, jei „Next“ nustato „shellWins“ = Nieko. Nustatyti IE = nieko

„Microsoft Scripting Runtime“ nuoroda daro jį tokiu, kad galėtumėte pasiekti „ShellWindows“ objektą, kuris leidžia pakartoti „Windows“ sistemoje ir rasti atidarytus IE egzempliorius. Šis scenarijus suras kiekvieną jūsų atidarytą URL ir įrašys jį į „Excel“ skaičiuoklę.

IE-automatizavimas4

Taigi teoriškai, jei dirbate su tinklaraščių kūrimu ir atidarote keletą elementų, pvz., Tyrimų langus, tinklaraščio redaktorių ar kalendoriaus langą - visi šie skirtukai bus aktyvūs. Jei turite išjungti ar palikti skubėdami, išsaugoti ten, kur esate, gali būti tikras skausmas, nukopijavus visus tuos URL.

IE-automatizavimas5

Naudodami naują „Excel“ scenarijų, tiesiog spustelėkite mygtuką Įkelti URL ir jis įkels jį tiesiai į skaičiuoklę.

IE-automatizavimas6

Vienas įspėjimas. Jei nenaudojate antraštės eilutės, norėsite pakeisti eilutę „intRowPosition = 2“ į „intRowPosition = 1“ ir tai prasidės nuo pirmosios eilutės, o ne praleidžiant antraštės eilutę.

Išsaugotos naršyklės darbo vietos atidarymas

Kitas šio projekto etapas - eiti kita linkme. Spustelėkite „Įkelti URL“ ir leiskite „Excel“ paleisti IE ir iš naujo įkelkite visus tuos URL, kuriuos išsaugojote skaičiuoklėje. Štai kaip turėtų atrodyti funkcija „cmdLoadURLs_Click ()“.

Dim IE kaip objektas. Dim shellWins kaip nauji „ShellWindows“. Dim IE_TabURL kaip styga. Dim intRowPosition As Integer intRowPosition = 2 Nustatykite IE = CreateObject ("InternetExplorer. Paraiška “) IE.Visible = Tikras IE.Navigate Sheet1.Range ("A" ir intRowPosition) Nors IE.Busy DoEvents. Wend intRowPosition = intRowPosition + 1, kol Sheet1.Range („A“ ir intRowPosition) <> vbNullString IE.Navigate Lapas1.Range („A“ ir „intRowPosition“), „CLng“ (2048) Nors „IE.Busy DoEvents“ Wend intRowPosition = intRowPosition + 1. Wend Set IE = nieko

Čia yra keli žingsniai, tačiau, kaip matote, kodas nėra toks ilgas ar sudėtingas. Sukursite naują IE egzempliorių, padarysite jį matomą (tai atidarys IE neįkeliant URL). Tada jis įkels pirmąjį sąrašo URL.

IE-automatizavimas8

Skripto dalis „Nors IE.Busy“ laukia, kol puslapis bus visiškai įkeltas, tada pereikite prie likusių URL adresų skaičiuoklę, atidarius naują skirtuką (štai ką daro „CLng (2048)“, kol jis pateks į tuščią lentelės langelį, tada jis sustos atidaryti naujus skirtukus. Štai mano „IE“ naršyklė su visais keturiais originaliais skirtukais, atkurtais naudojant „Excel IE“ automatizavimo scenarijų.

IE-automatizavimas9

Santrauka

Mano tikrasis tikslas tai padaryti buvo tai, kad atskiros skaičiuoklės sudarytų skirtukų rinkinius tokioms užduotims kaip tyrinėti ir rašyti savo tinklaraštyje, rašyti svetainėje „MakeUseOf“, atliekant SEO projekto darbus svetainėje arba visą sąrašą kitų vaidmenų ar projektų, kuriems reikalinga išsaugota skirtukų kolekcija, kuri visada yra naudotas.

Naudodami skaičiuoklę, kad išsaugotumėte šias sąrankas, ir automatizuodami jų atidarymą naršyklėje, galite sutaupyti daug laiko... be to, tai taip pat yra nuostabu.

Ar VBA programose naudojate kokią nors IE automatiką? Matote kitus „Excel“ tokio tipo IE valdymo būdus? Pasidalykite savo mintimis ir atsiliepimais komentarų skiltyje žemiau!

Ryanas turi elektros inžinerijos bakalauro laipsnį. Jis 13 metų dirbo automatikos inžinerijoje, 5 metus IT srityje, o dabar yra programų inžinierius. Buvęs „MakeUseOf“ generalinis redaktorius, jis kalbėjo nacionalinėse duomenų vizualizacijos konferencijose ir buvo rodomas per nacionalinę televiziją ir radiją.