Excel VBA SendKeys
U ovom ćemo članku vidjeti strukturu Excel VBA SendKeys-a. Jeste li ikada razmišljali o stvaranju programa koji automatski sprema radni list i za to vam nije potrebno pritisnuti tipku Ctrl + S ili Excel Save? Čini se da je to fantazija, zar ne? Međutim, to se može učiniti. U VBA postoji naredba naredbe koja se zove SendKeys koja vam omogućuje da pritisnete tipke kao naredbu u aplikaciju na isti način kao da koristite tipkovnicu za obavljanje zadatka. (Na primjer, spremanje datoteke. Radite tipku Ctrl + S pomoću tipkovnice za spremanje datoteke). Preporučuje se korištenje SendKeys-a kao zadnje opcije dok automatizirate bilo koji zadatak. Kao što smo već razgovarali, SendKeys šalje pritiske na aplikaciju koja je trenutno aktivna. Što ako imate aktivan prozor aplikacije u vrijeme pokretanja koda pod kojim ne želite da se promjene događaju? Daće neočekivane rezultate, zar ne? To je jedini razlog, trebali bi koristiti SendKeys kao zadnju opciju dok automatiziramo stvari. Međutim, može se koristiti za malu automatizaciju, tamo gdje nijedna druga okolina aplikacija neće ometati onu za koju ste željeli da se promjena dogodi.
Metoda sintakse SendKeys:
SendKeys(String As String, (Wait))
Gdje,
Prvi argument "String As String" specificira kombinacije tipki koje želite koristiti u programu (npr. Ctrl + S bi bila kombinacija tipki).
Wait bi bio neobvezni parametar koji uzima booleove vrijednosti TRUE i FALSE. Ako čekanje ima vrijednost TRUE, to znači da će sustav pričekati da se ključevi obrade, a zatim će prijeći na sljedeći redak i kompilirati / pokrenuti isti. Ako je vrijednost čekanja FALSE (može ostati prazna), sustav neće čekati da se ključevi obrade i nastavit će pokrenuti cijeli kôd.
Koriste se određene metode pomoću kojih možete kombinirati pritiske tipki s Ctrl, Shift ili Alt. Pogledajmo kako to možemo učiniti Slijedi tablica koja određuje kombinacije pritiska tipki za SendKeys sa Ctrl, Shift i Alt:
Ključ za kombiniranje | Operator koji će se koristiti prije kombinacije tipki |
smjena | + (Tipkovnica plus znak) |
ctrl | (Znak operatora karata) |
Alt | % (Znak postotka) |
Pa, što to znači? To znači, ako želite koristiti kombinaciju tipkovnice kao Ctrl + S pod kodom, možete koristiti SendKeys metodu i to učiniti sa SendKeysom, zatim Caret (^) operatorom za Ctrl, a zatim s. To će spremiti trenutni radni list u vaš excel datoteci.
Kako se koristi metoda SendKeys u Excelu VBA?
Naučit ćemo kako koristiti metodu SendKeys u Excelu pomoću VBA koda.
Možete preuzeti ovaj VBA SendKeys Excel predložak ovdje - VBA SendKeys Excel predložakVBA SendKeys - Primjer # 1
Navodimo nekoliko jednostavnih primjera koji će nam omogućiti da dublje uđemo u rad VBA naredbe SendKeys.
U ovom prvom primjeru vidjet ćemo vrlo jednostavnu automatizaciju koja automatski sprema trenutnu Excel datoteku koja je otvorena. Ne morate pritisnuti gumb Spremi ili Ctrl + S da biste spremili datoteku. Slijedite korake u nastavku kako biste postigli rezultat.
Korak 1: Otvorite modul na kartici izbornika Umetanje, kao što je prikazano u nastavku.
Korak 2: Definirajte novi podpostupak koji može sadržavati vaš makronaredbu.
Kodirati:
Sub Primjer_1 () Kraj Sub
Korak 3: Sada, za spremanje bilo koje datoteke, imate kombinaciju tipki na tipkovnici kao Ctrl + S. da biste je pretvorili u kôd, možemo koristiti operator caret (^) i zatim ključnu riječ s s kao argument za izjavu SendKeys.
Kodirati:
Primjer_1 () Primjena.SendKeys ("s") Kraj Sub
Ovdje ključna riječ aplikacija određuje aplikaciju kojoj šaljemo pritiske tipki (u ovom slučaju program Excel). "S" pod zagradama određuje sličnu operaciju tipkovnice Ctrl + S.
Korak 4: Pokrenite ovaj kôd pritiskom na tipku Run ili pritiskom na tipku F5.
Nakon uspješnog pokretanja ovog koda datoteka se sprema.
VBA SendKeys - primjer br. 2
Sada ćemo vidjeti kako zatvoriti trenutni program slanjem softverskih tipki kroz makro kod pomoću metode SendKeys. Slijedite korake u nastavku:
Korak 1: Napišite podprocedura koja može sadržati vaš makronaredbu ispod modula.
Kodirati:
Sub Primjer_2 () Kraj Sub
2. korak: Upotrijebite Application.SendKeys metodu za prosljeđivanje softverskih tipki na tipkovnici. Budući da se trenutno VBA okno može zatvoriti tipkovnicom prečac Alt + Q, pod makronaredbom možemo upotrijebiti „% q“.
Kodirati:
Primjer_2 () Application.SendKeys ("% q") Kraj Sub
3. korak: Pritisnite tipku Run ili F5 da biste pokrenuli ovaj kôd. Čim pokrenete ovaj kôd, trenutni Visual Basic Editor će se zatvoriti i vi ćete se kretati do datoteke Excel.
VBA SendKeys - Primjer # 3
Sad ćemo napisati kôd koji automatski otvara Notepad i automatski u njega upisuje tekst. Pogledajte snimku zaslona u nastavku:
Korak 1: Napišite podprocedura koja može sadržati vaš makronaredbu ispod modula.
Kodirati:
Sub Primjer_3 () Kraj Sub
Shell poziva omogućava sustavu da otvori aplikaciju. Put je tamo gdje je prisutan Notepad.exe. vbNormalFocus je izborni argument koji određuje fokus na otvaranju i vraćanju aplikacije u izvornu veličinu i položaj.
Korak 2: Upotrijebite pozive i tipke za slanje u kombinaciji kako sustav može dodati tekst u bilježnicu.
Kodirati:
Sub Example_3 () Shell poziva ("C: \ Windows \ System32 \ Notepad.exe", vbNormalFocus) Kraj Sub
Korak 3: Ovdje dodajemo tekst "Pozdrav VBA!" Koristeći SendKeys na Bilježnicu. True određuje vrijeme čekanja za naredbu SendKeys.
Kodirati:
Sub Example_3 () Shell poziva ("C: \ Windows \ System32 \ Notepad.exe", vbNormalFocus) SendKeys poziva ("Pozdrav VBA!", Istina) Kraj Sub
Korak 4: Pokrenite ovaj kôd pritiskom na tipku F5 ili klikom na gumb Pokreni.
Tako možemo koristiti SendKeys metodu za automatizaciju aplikacija putem makronaredbe VBA.
Stvari koje treba zapamtiti
- Budite vrlo oprezni dok upotrebljavate SendKeys jer može dati neočekivane rezultate ako imate otvoreno više aplikacija.
- SendKeys možete koristiti za automatizaciju sitnih zadataka poput spremanja Excel datoteke ili zatvaranja Excel datoteke itd.
- Koristite metodu SendKeys kao posljednju opciju dok pokušavate stvari automatizirati.
Preporučeni članak
Ovo je vodič za VBA SendKeys. Ovdje smo raspravljali o načinu korištenja SendKeys metode u Excelu VBA zajedno s praktičnim primjerima i besplatnim excel predložakom. Možete i pregledati naše druge predložene članke -
- VBA Dok je petlja (primjeri s Excelovim predloškom)
- VBA okružje | Predlošci Excela
- Traženje VBA cilja (primjer)
- Kako promijeniti naziv radnog lista u Excelu VBA?