Oglas

Njegova integracija z Windows omogoča nadzor Internet Explorerja na številne presenetljive načine uporabe Skript Visual Basic for Applications (VBA) iz katere koli aplikacije, ki jo podpira, kot so Word, Outlook ali Excel

Avtomatizacija VBA - še posebej neposredno avtomatizacija brskalnika, kot je IE, kot boste videli v tem članku - je točno tako, da povzdigne VBA iz priročnega skripta za programiranje v močan jezik za avtomatizacijo. To, kar je tako osupljivo, je dejstvo, da je veliko aplikacij s krmilnimi elementi ali predmeti ustvarjenih preprosto zato, da vam omogočite, da se vanj vključite s programskim jezikom VBA.

Skozi leta smo vam pokazali, kako lahko z VBA naredite nekaj res kul stvari. Lahko ga na primer uporabite pošljite e-pošto neposredno iz Excela Kako pošiljati e-pošto iz preglednice Excela z uporabo skriptov VBANaša predloga kode vam bo pomagala nastaviti avtomatska e-poštna sporočila znotraj Excela z uporabo podatkovnih objektov kolaboracije (CDO) in skriptov VBA. Preberi več

, lahko samodejno izvozite Outlookove naloge v Excelovo preglednico Kako izvoziti Outlookove naloge v Excel z VBANe glede na to, ali ste ljubitelj Microsofta, je vsaj dobra stvar, ki jo lahko rečemo o izdelkih MS Office, to, kako enostavno je vsakega od njih integrirati med seboj ... Preberi več in lahko celo oblikujte svoj internetni brskalnik Kako narediti svoj osnovni internetni brskalnik z uporabo VBAKo resnično nehate razmišljati o tem, internetni brskalnik v svoji najpreprostejši obliki v resnici ni tako impresivna aplikacija. Mislim, da, internet je po svojih merilih neverjeten. Koncept povezovanja ... Preberi več ! Prav tako niso samo Microsoftovi izdelki. Obstajajo aplikacije drugih proizvajalcev, ki so v svojo programsko opremo vgradili VBA in združljive predmete - od Adobe Acrobat SDK do ObjectARX SDK za AutoCAD - obstajajo načini, kako "vključiti" več aplikacij, kot ste verjetno spoznati.

Ideja

V tem primeru boste Excel povezali z IE. Zakaj IE? Ker je Internet Explorer tako dobro povezan z operacijskim sistemom, da vam ni treba storiti veliko, da začnete uporabljati IE avtomatizacijo v VBA v drugih Microsoftovih izdelkih, kot sta Word ali Excel. V tem je lepota. V tem članku boste videli, kako deluje ta avtomatizacija, v prihodnjem članku pa, kako narediti skoraj isto stvar z drugimi brskalniki.

To, kar vam bom pokazal tukaj, je na videz preprosta aplikacija, vendar ima veliko aplikacij, kjer lahko s to kodo uporabite različne kul stvari s svojim brskalnikom. V nadaljevanju je, da boste ustvarili preglednico Excela z namenom hitrega shranjevanja vseh odprtih oken brskalnika z enim klikom gumba. To preglednico lahko shranite in odidete ali izklopite računalnik.

Vrnite se uro ali tri dni pozneje, odprite preglednico, kliknite drug gumb in ti shranjeni URL-ji se bodo znova odprli na istem številu zavihkov kot prej. Očitno dobra uporaba tega je shranjevanje celotne knjižnice skupnih spletnih nastavitev delovnega prostora v Excelu. Nato lahko delovni prostor obnovite z enim klikom gumba, ne da bi morali znova najti vse te URL-je.

Avtomatizacija Internet Explorerja z VBA

Prva stvar je, da odprete Excel (uporabljam 2013 - druge različice so podobne, ko gre za programiranje VBA) in pojdite na točko menija Developer. Znotraj se prikaže gumb za vstavljanje, ki spusti vse svoje kontrole. Izberite gumb gumba ActiveX in ga vstavite v preglednico.

IE-avtomatizacija1

Verjetno ste že ustvarili glavo za URL-je, če želite, pa vam tega ni treba. To je resnično knjižnica za shranjevanje URL-jev, zato glave v resnici niso pomembne. Ko dodate gumb, ga dvokliknite, da odprete urejevalnik VBA. Spodaj levo bodo prikazane lastnosti novega gumba.

Preimenujte ga v nekaj podobnega kot cmdSaveURL in nastavite napis v »Shrani URL-je« - kar pomeni, da je to gumb za shranjevanje vseh odprtih URL-jev iz brskalnika IE.

save-urls

Nato pojdite na meni Orodja na vrhu urejevalnika VBA, v meniju kliknite Reference in se pomaknite dolg seznam in poiščite sklic »Microsoft Internet Controls«. Kliknite potrditveno polje na levi strani in nato kliknite V redu.

IE-avtomatizacija3

Zdaj ste pripravljeni na predstavitev. V besedilnem področju urejevalnika bi morali videti vrstico, ki se glasi "Zasebni pod cmdSaveURLs_Click ()" Če je ne vidite, kliknite levo spustno polje nad območjem z besedilom in na seznamu poiščite cmdSaveURL. Izberite ga in ustvarili boste funkcijo Click () za vas.

To je koda, ki jo želite vstaviti v to funkcijo:

im IE kot predmet. Dim shellWins kot novo ShellWindows. Dim IE_TabURL kot niz. Zatemni intRowPosition kot celoten intRowPosition = 2 za vsak IE v shellWins IE_TabURL = IE.LocationURL Če IE_TabURL <> vbNullString Nato Sheet1.Range ("A" & intRowPosition) = IE_TabURL intRowPosition = intRowPosition + 1 konec, če je naslednji nastavljen shellWins = Nič. Nastavi IE = nič

Microsoft Scripting Runtime Reference omogoča, da lahko dostopate do objekta ShellWindows, ki vam omogoča ponovitev skozi Windows in iskanje primerkov IE, ki ste jih odprli. Ta skript bo našel vsak odprt URL in ga zapisal v preglednico Excel.

IE-avtomatizacija4

Torej, če teoretično delate na podobnem spletnem dnevniku in imate odprtih nekaj elementov, na primer raziskovalno okno, urejevalnik bloga ali okno koledarja - bodo vsi ti zavihki aktivni. Če se morate v naglici izklopiti ali oditi, je lahko resnična težava, če shranite, kje ste, s kopiranjem vseh teh URL-jev.

IE-avtomatizacija5

Z novim Excelovim skriptom kliknite gumb Naloži URL-je in naloži ga takoj v preglednico.

IE-avtomatizacija6

En ogovor. Če ne uporabljate vrstice za glavo, potem boste želeli vrstico "intRowPosition = 2" spremeniti v "intRowPosition = 1" in to se bo začelo v prvi vrstici, ne pa da bi preskočili vrstico glave.

Odpiranje shranjenega delovnega prostora brskalnika

Naslednja faza tega projekta je iti v drugo smer. Kliknite »Naloži URL-je« in Excel zažene IE in znova naloži vse tiste URL-je, ki ste jih shranili v preglednico. Takole mora izgledati funkcija cmdLoadURLs_Click ().

Dim IE kot predmet. Dim shellWins kot novo ShellWindows. Dim IE_TabURL kot niz. Zatemni intRowPosition kot celoten intRowPosition = 2 Nastavite IE = CreateObject ("InternetExplorer. Prijava ") IE.Visible = Resnično IE.Navigate Sheet1.Range ("A" in intRowPosition), medtem ko IE.Busy DoEvents. Wend intRowPosition = intRowPosition + 1, medtem ko Sheet1.Range ("A" in intRowPosition) <> vbNullString IE.Navigate Sheet1.Range ("A" in intRowPosition), CLng (2048) Medtem ko IE.Busy DoEvents Wend intRowPosition = intRowPosition + 1. Wend Set IE = nič

Tu je nekaj korakov, a kot vidite, koda ni vse tako dolga ali zapletena. Ustvarite nov primerek IE, ga naredite vidnega (to bo odprlo IE brez nalaganja URL-ja). Nato naloži prvi URL na seznam.

IE-avtomatizacija8

Del skripta "Medtem ko IE.Busy" počaka, da se stran v celoti naloži, nato pa se premaknete na preostale naslove URL v vašem preglednico, odpiranje novega zavihka (to je tisto, kar počne "CLng (2048)", dokler ne zadene v prazno celico v vaši preglednici, nato pa se ustavi odpiranje novih zavihkov. Tu je moj brskalnik IE z vsemi štirimi izvirnimi zavihki, obnovljen s skriptom avtomatizacije Excel IE.

IE-avtomatizacija9

Povzetek

Moj resnični cilj tega je bil, da so posamezne preglednice postavile zbirke zavihkov za naloge, kot so raziskovanje in pisanje na mojem blogu, pisanje v MakeUseOf, opravljanje SEO projektov na spletnem mestu ali celoten seznam drugih vlog ali projektov, za katere je potrebna shranjena zbirka zavihkov, ki so vedno rabljen.

Uporaba preglednice za shranjevanje teh nastavitev in samodejno odpiranje v brskalniku lahko prihranite veliko časa... in pravzaprav je tudi precej kul.

Ali v svojih aplikacijah VBA uporabljate kakršno koli avtomatizacijo IE? Ali si v Excelu oglejte še kakšno super uporabo za tovrstni nadzor IE? Delite svoje misli in povratne informacije v spodnjem razdelku s komentarji!

Ryan ima diplomo iz elektrotehnike. 13 let je delal v avtomatizacijskem inženiringu, 5 let v IT, zdaj pa je inženir Apps. Nekdanji glavni urednik MakeUseOf je govoril na nacionalnih konferencah o vizualizaciji podatkov in je bil predstavljen na nacionalni televiziji in radiu.