Korištenje VBA za automatizaciju sesija preglednika Internet Explorer iz proračunske tablice Excel

  • Lesley Fowler
  • 0
  • 1664
  • 301
Oglas

Njegova integracija u Windows omogućuje kontrolu Internet Explorera na brojne iznenađujuće načine pomoću skripte Visual Basic for Applications (VBA) iz bilo koje aplikacije koja ga podržava, kao što su Word, Outlook ili Excel.

VBA automatizacija - posebno izravno automatiziranje preglednika poput IE-a kao što ćete vidjeti u ovom članku - upravo je takva stvar koja VBA uzdiže iz prikladnog programskog skripta u moćan jezik automatizacije. Ono što ga čini tako strašnim jest činjenica da su mnoge aplikacije s kontrolama ili objektima kreirane upravo u svrhu da vam omoguće da se integrirate u njega koristeći programski jezik VBA.

Kroz godine pokazali smo vam kako možete napraviti neke stvarno super stvari s VBA. Na primjer, možete ga koristiti za slanje e-pošte izravno iz Excela. Kako slati e-poštu s Excel proračunske tablice koristeći VBA skripte Kako slati e-poštu s Excelove proračunske tablice koristeći VBA skripte. Naš predložak koda pomoći će vam u postavljanju automatiziranih poruka e-pošte iz programa Excel pomoću Predmeti podataka o suradnji (CDO) i VBA skripte. , možete automatski izvoziti Outlook zadatke u proračunsku tablicu Excel Kako izvesti Outlook zadatke u Excel s VBA Kako izvesti Outlook zadatke u Excel s VBA-om Bez obzira jeste li ili ne ljubitelj Microsofta, jedna dobra stvar koja se može reći o MS-u Barem je Officeovim proizvodima lako integrirati ih jedan s drugim ..., a možete čak i dizajnirati vlastiti internetski preglednik. Kako napraviti svoj vlastiti osnovni internetski preglednik pomoću VBA Kako napraviti svoj vlastiti osnovni internetski preglednik pomoću VBA Kad zaista prestanete razmišljati o tome, internetski preglednik u svom najjednostavnijem obliku nije baš toliko impresivna aplikacija. Mislim, da, Internet je po nečijim standardima nevjerojatan. Koncept povezivanja…! Nisu to ni Microsoftovi proizvodi. Postoje aplikacije treće strane svih vrsta dobavljača koji su u svoj softver integrirali VBA i kompatibilne objekte - od Adobe Acrobat SDK do ObjectARX SDK za AutoCAD - postoje načini za “uključiti u” više aplikacija nego što vjerojatno znate.

Ideja

U tom ćete slučaju Excel povezati s IE. Zašto IE? Budući da je Internet Explorer toliko dobro integriran s operacijskim sustavom, da zaista ne morate puno raditi da biste počeli koristiti IE automatizaciju u VBA u drugim Microsoftovim proizvodima poput Worda ili Excel-a. U tome je ljepota. U ovom ćete članku vidjeti kako funkcionira ova automatizacija, a u narednom članku vidjet ćete kako raditi gotovo istu stvar s drugim preglednicima..

Ono što ću vam ovdje pokazati je naizgled jednostavna aplikacija, ali ima puno aplikacija na kojima biste mogli pomoću ovog koda napraviti razne cool stvari sa svojim preglednikom. Dno crta je da ćete stvoriti Excel proračunsku tablicu u svrhu brzog spremanja svih otvorenih prozora preglednika jednim klikom gumba. Možete spremiti ovu proračunsku tablicu i otići ili isključiti računalo.

Vratite se sat ili tri dana kasnije, otvorite proračunsku tablicu, kliknite drugi gumb i oni spremljeni URL-ovi ponovno će se otvoriti u istom broju kartica kao i prije. Očito dobra upotreba toga bila bi pohraniti čitavu biblioteku uobičajenih mrežnih postavki radnog prostora u Excel. Tada možete vratiti radni prostor jednim klikom na gumb bez ponovnog pronalaženja svih tih URL-ova.

Automatizacija Internet Explorera pomoću VBA

Prvo što treba učiniti je otvoriti Excel (koristim 2013. - ostale verzije su slične kada je u pitanju programiranje VBA) i prijeđite na stavku izbornika programera. Unutra ćete vidjeti gumb za umetanje koji spušta sve vaše kontrole. Odaberite ActiveX tipku i stavite je u svoju proračunsku tablicu.

Vjerojatno ste već stvorili zaglavlje za URL-ove ako želite, ali to ne morate. Ovo je zaista biblioteka za pohranu URL-ova, tako da zaglavlja nisu uopće bitna. Jednom kada dodate gumb, dvaput kliknite na njega za otvaranje VBA uređivača. U donjem lijevom kutu vidjet ćete svojstva vašeg novog gumba.

Preimenujte to u nešto poput cmdSaveURLs i postavite Caption na “Spremi URL-ove” - što upućuje na to da je ovo gumb za spremanje svih otvorenih URL-ova iz vašeg IE preglednika.

Zatim idite na izbornik Alati pri vrhu VBA uređivača, kliknite na Upućivanje u izborniku i pomaknite se niz dugačak popis da biste pronašli “Microsoftove internetske kontrole” referenca. Kliknite potvrdni okvir s lijeve strane, a zatim kliknite U redu.

Sad ste spremni za rolanje. U području teksta za uređivanje trebali biste vidjeti redak koji glasi “Privatni Sub cmdSaveURLs_Click ()”. Ako ga ne vidite, kliknite lijevi padajući okvir iznad područja teksta i pronađite cmdSaveURL na popisu. Odaberite ga i on će stvoriti funkciju Click () za vas.

Ovo je kôd koji želite umetnuti u tu funkciju:

im IE kao objekt Dim shellWins kao novi ShellWindows Dim IE_TabURL kao string string Dim intRowPosition kao cjelobrojni intRowPosition = 2 za svaki IE u shellWins IE_TabURL = IE.LocationURL ako IE_TabURL vbNullStt = I inOSosPT = I inOSOSRT = A inOSOSPT = A inOSOSPT = A inOSOSPT = A inososPt> Aetos_TheWEWEWEWEWEWLWEWLWEWLWEWEWEWEWEWEWEWEWEWEWEWEWEWEWEWEEEE " 1 Kraj Ako je sljedeći set shellWins = Ništa nije postavljeno IE = Ništa

Microsoft Scripting Runtime referenca omogućuje vam pristup objektu ShellWindows koji vam omogućava ponavljanje kroz Windows i pronalazak otvorenih primjeraka IE. Ta će se skripta pronaći svaki otvoreni URL i upisati u proračunsku tablicu Excel.

Dakle, u teoriji, ako radite na nečemu poput bloganja i imate nekoliko otvorenih stavki, poput prozora za istraživanje, uređivača bloga ili prozora kalendara - sve te kartice bit će aktivne. Ako se morate zatvoriti ili otići u žurbi, kopiranjem svih tih URL-ova može se stvoriti velika bol ako spremite tamo gdje se nalazite..

S novom Excel skriptu samo kliknite gumb Učitaj URL-ove i učitavat će ga izravno u proračunsku tablicu.

Jedno upozorenje. Ako ne koristite redak zaglavlja, željeli biste promijeniti redak “intRowPosition = 2” do “intRowPosition = 1” a ovo će početi u prvom redu umjesto preskakanja retka zaglavlja.

Otvaranje spremljenog radnog prostora preglednika

Sljedeća faza ovog projekta je ići u drugom smjeru. Kliknite gumb “Učitajte URL-ove” i neka Excel pokrene IE i ponovno učita sve one URL-ove koje ste spremili u proračunsku tablicu. Evo kako bi trebala izgledati funkcija cmdLoadURLs_Click ().

Dim IE kao objekt Dim shellWins kao novi ShellWindows Dim IE_TabURL kao string string Dim intRowPosition kao cjelobrojni intRowPosition = 2 Postavi IE = CreateObject ("InternetExplorer.Application") IE.Visible = Istina IE.Navigate Sheet1.RantR dok "A Aos" IE.Busy DoEvents Wend intRowPosition = intRowPosition + 1 Dok je Sheet1.Range ("A" & intRowPosition) vbNullString IE.Navigate Sheet1.Range ("A" & intRowPosition), CLng (2048) Dok IE.Bosy inv. 1 Wend Set IE = Ništa

Ovdje postoji nekoliko koraka, ali kao što vidite, kod nije sve tako dugačak i kompliciran. Stvorite novu instancu IE, učinite je vidljivom (ovo će se otvoriti IE bez učitavanja URL-a). Zatim će učitati prvi URL na popisu.

“Dok je IE.Busy” dio skripte čeka da se stranica u potpunosti učita, a zatim prijeđite na ostatak URL-ova u proračunskoj tablici, otvarajući novu karticu (to je ono “CLng (2048)” ako ne pogodi praznu ćeliju u vašoj proračunskoj tablici, prestat će otvarati nove kartice. Evo mog IE preglednika sa sve četiri originalne kartice obnovljene pomoću skripte za automatizaciju Excel IE.

Sažetak

Moj stvarni cilj to bio je da pojedinačne proračunske tablice postave kolekcije kartica za zadatke poput istraživanja i pisanja na vlastitom blogu, pisanja na MakeUseOf, obavljanja SEO projekata na web mjestu ili čitavog popisa drugih uloga ili projekata koji zahtijevaju spremljena zbirka kartica koja se uvijek koristi.

Korištenje proračunske tablice za pohranu tih postavki i automatsko otvaranje u pregledniku može uštedjeti puno vremena ... a zapravo je i prilično cool..

Koristite li bilo kakvu IE automatizaciju u svojim VBA aplikacijama? Vidite li još neke cool upotrebe ove vrste IE kontrole u Excelu? Podijelite svoje misli i povratne informacije u odjeljku s komentarima u nastavku!




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.