Reklame
Nøglen til automatisering er at gøre tingene hurtigere og lettere, end du nogensinde har gjort før. Så hvad tager dig lang tid at gøre? Hvilken del af din arbejdsbyrde vil automatisere?
Når det kommer til produktivitet, er Excel det mest almindelige værktøj, som folk bruger til ting som organisering af økonomi, styring af projekter, og prioritering af mål. Sidste uge beskrev jeg, hvordan man gør det automatisere IE ved at opsætte grupper af URL-adresser i Excel-ark og derefter bruge IE-objektet i Windows til at automatisere lanceringsgrupper af URL-adresser lige fra Excel.
Efter denne artikel spurgte mange læsere, hvordan man gør det samme i Firefox eller Chrome. Da hverken Firefox eller Chrome har et lignende objekt inkluderet i Windows, der kan bruges til VBA-automatisering, kræver det at udføre den samme slags handlinger på de andre browsere et ekstra trin. Dette trin er installationen af Selen VBA - en Windows COM-indpakning til Selen.
Det giver dig mulighed for at udføre opkald fra ethvert program, der understøtter VBA for at åbne en browser - ikke kun IE - og styre browsersessionen. Det er et kraftfuldt automatiseringsværktøj, der er så almindeligt anvendt, at mange populære browserudbydere inkorporerer Selenium som en naturlig del af deres browser. Brug af det i dine automatiseringsapplikationer understøttes helt sikkert i de kommende år.
Automatisering af Firefox og Chrome med Selenium
Inden du kommer i gang med dette projekt, skal du downloade og installere Selenium VBA-indpakningen. Derefter, ligesom jeg diskuterede i artiklen om automatisering af IE, for at skrive en hvilken som helst VBA i Excel, skal du komme i designtilstand og se koden. Hvis du aldrig har gjort dette før, skal du bare gå ind i menupunktet "Udvikler" og klikke på Designtilstand. Klik på knappen "Indsæt", klik på ActiveX-knappen og tegne den på dit ark et eller andet sted. Når du har gjort det, skal du klikke på knappen og derefter klikke på “Vis kode”.

I kodeditorvinduet nederst til venstre skal du sørge for at ændre både “Navn” og “Billedtekst” for at afspejle, hvad knappen er til. I dette tilfælde vil knappen være for at åbne listen over webadresser, som du har angivet i regnearket. I mit tilfælde kaldte jeg det bare cmdLoadURLs og lavede overskriften "Indlæs webadresser" (det er dette, der vises på knappen).

Dernæst skal du aktivere Selenium Wrapper ved at klikke på menuen Funktioner, derefter klikke på “Referencer” og derefter bladre ned til referencen kaldet “SeleniumWrapper Type Library”. Marker dette referencefelt, og klik derefter på OK.

Du er nu klar til at begynde at skrive browser-automatiseringskode ved hjælp af Selenium Wrapper!
Selenompakningens funktionalitet
Selenium VBA Wrapper giver dig meget mere funktionalitet, end jeg kan vise dig i denne ene artikel. Du kan se, hvor meget der er tilgængeligt udover bare WebDriver, ved at definere Selenium-objektet som "New SeleniumWrapper". Når du skriver perioden, slettes alle elementerne i de typer objekter, du kan kontrollere, f.eks. Browserbilleder, PDF-filer, tastaturtaster med mere.

Dette eksempelkode bruger WebDriver. Når du bruger Selenium WebDriver-objektet i din kode og indtaster perioden, vises det en meget lang liste over metoder og egenskaber, som du kan bruge til at automatisere din webbrowser.

Det kan tage nogen tid at lære alt, hvad der er tilgængeligt, men Google kan vise nogle gode eksempler bag de eksempler, der findes på Google-kode side. Desværre er der så vidt jeg ved ingen rigtig guide derude til at bruge Selenium, men jeg vil være taknemmelig for alle læsere, der kunne give ressourcer!
Skrivning af din VBA Selenium-kode
I dette eksempel, som i IE-artiklen, har jeg oprettet en liste over webadresser, som jeg vil åbne automatisk i Firefox. Derefter oprettede jeg knappen som beskrevet i den første del af denne artikel.

Koden bag knappen er ukompliceret, men jeg vil forklare, hvad hver sektion gør. Først skal du starte Firefox-applikationen. Metoden “selen.start” gør det. Metoderne setTimeout og setImplicitWait er ikke kritiske, men kan forhindre, at din applikation låses for evigt, hvis browseren ikke reagerer af en eller anden grund.
Dim selen Som nyt SeleniumWrapper. WebDriver. Dim FF som objekt. Dim intRowPosition som heltal. Dim-taster Som nyt SeleniumWrapper.keys-selen. Start "firefox", " https://www.google.com" selenium.setTimeout ("120000") selenium.setImplicitWait (5000) intRowPosition = 2. selen. Åben ark1.Range ("A" & intRowPosition)
De sidste par linjer indstiller rækken med Excel-data til at læse (række to, hvor den første URL er gemt i (regneark), og udfører derefter metoden “selenium.open” for at læse URL'en fra det regneark og åbne den i Firefox.

Den næste kodesektion øger rækkeviseren og læser den næste URL på listen. Hvis cellen ikke er tom, bruger den derefter SendKeys-metoden til at starte en ny fane i Firefox, læser den næste URL fra det pågældende salg og åbner URL-adressen i den nye fane.
intRowPosition = intRowPosition + 1 While Sheet1.Range ("A" & intRowPosition) <> vbNullString selen. SendKeys nøgler. Kontrol & "t" selen. Åbn ark1.Range ("A" & intRowPosition) intRowPosition = intRowPosition + 1. Wend Set IE = Intet
Scriptet går gennem hele listen, indtil alle webadresser er åbne i deres egne faner. Her er browseren, efter at loopen gik gennem en anden gang og åbnede MUO i en ny fane.

Hvis du vil bruge denne kode til Chrome, er alt hvad du skal gøre at ændre linjen “selen. Start i stedet "firefox" "til" chrome ".
Opret nu dit eget script
Som jeg nævnte ovenfor, er den bedste måde at lære styrken af Selenium Wrapper at skrive “selen” i din kode, skal du ramme perioden og bare bla gennem den meget lange liste over tilgængelige egenskaber og metoder. For eksempel kan du bruge egenskaben .URL til at få URL'en til den aktuelt åbne fane i Firefox eller Chrome.

Som du kan se, er der mange flere ting, du kan gøre, der går langt ud over denne artikels rækkevidde. Men eksperimentér og have det sjovt. Heldigvis vises de fleste af funktionerne hjælpetekst, der viser, hvilke parametre hver funktion forventer. Det kan hjælpe meget, når det drejer sig om, hvordan man bruger det.
For dit næste script-projekt, hvad med oprette din egen enkle app med VBA Hvordan du kan lave din egen enkle app med VBAVil du vide, hvordan du laver din egen VBA-applikation til at løse problemer? Brug disse tip til at oprette din egen VBA-software. Læs mere ?
Ryan har en BSc-grad i elektroteknik. Han har arbejdet 13 år inden for automatisering, 5 år inden for it, og er nu en applikationsingeniør. En tidligere administrerende redaktør for MakeUseOf, han har talt på nationale konferencer om datavisualisering og har været vist på nationalt tv og radio.