VBA SendKeys - Kuidas kasutada Excel VBA-s SendKeys-meetodit?

Lang L: none (table-of-contents):

Anonim

Excel VBA SendKeys

Selles artiklis näeme programmi Excel VBA SendKeys ülevaade. Kas olete kunagi mõelnud luua selline programm, mis salvestaks töölehe automaatselt ja selleks pole vaja vajutada nuppu Ctrl + S ega Exceli salvestusnuppu? See tundub olevat fantaasia, eks? Seda saab siiski teha. VBA-s on käsuavaldus nimega SendKeys, mis võimaldab teil klahvivajutusi käsuna rakendusele saata samamoodi nagu siis, kui kasutate ülesande täitmiseks klaviatuuri. (Nt. Faili salvestamine. Faili salvestamiseks peate kasutama klahvikombinatsiooni Ctrl + S). Mis tahes toimingu automatiseerimisel on soovitatav kasutada viimase valikuna SendKeys. Selle põhjuseks on, nagu me juba arutasime, saadab SendKeys klahvikõned hetkel aktiivsele rakendusele. Mis siis, kui teil on koodiakna ajal aktiivne rakenduste aken, mille all te muudatusi ei soovi? See annab ootamatuid tulemusi, eks? See on ainus põhjus, mida peaksime asja automatiseerimisel kasutama viimase võimalusena SendKeys. Seda saab kasutada väikese automatiseerimise jaoks, kus ükski teine ​​rakenduse keskkond ei häiri seda, mida soovite muudatuse toimumiseks.

Süntaksi SendKeys meetod:

SendKeys(String As String, (Wait))

Kus,

Esimene argument 'String As String' täpsustab klahvikombinatsioonid, mida soovisite programmi raames kasutada (nt Ctrl + S oleks klahvikombinatsioon).

Ootus oleks valikuline parameeter, mis võtab tõeväärtuse väärtuseks TRUE ja FALSE. Kui ootamise väärtus on TÕENE, tähendab see, et süsteem ootab võtmete töötlemist ja läheb siis järgmisele reale ning kompileerib / käivitab sama. Kui ooteaja väärtus on VABA (võib tühjaks jätta), siis süsteem ei oota klahvide töötlemist ja jätkab kogu koodi kasutamist.

Kasutatakse teatud meetodeid, mille abil saate klahvivajutusi kombineerida klahvidega Ctrl, Shift või Alt. Vaatame, kuidas seda teha. Järgnev on tabel, mis täpsustab klahvikombinatsioonide kombinatsioonid SendKeys klahvide Ctrl, Shift ja Alt abil:

Klahv, mida tuleb kombineerida Klahvidele eelnev kombinatsioon
Vahetus + (Klaviatuuri plussmärk)
Ctrl (Operaatori märk)
Alt % (Protsendimärk)

No mida see tähendab? See tähendab, et kui soovite koodi all kasutada klaviatuurikombinatsiooni Ctrl + S, võite kasutada meetodit SendKeys ja teha seda koos SendKeys, seejärel Ctrl-i operaatori Caret (^) jaoks ja seejärel “s”. See salvestab praeguse töölehe teie exceli faili.

Kuidas kasutada Excel VBA-s SendKeys-meetodit?

Õpime VBA-koodi abil Excelis SendKeys-meetodit kasutama.

Selle VBA SendKeys Exceli malli saate alla laadida siit - VBA SendKeys Exceli mall

VBA SendKeys - näide # 1

Leidkem mõned lihtsad näited, mis võimaldavad meil põhjalikumalt sukelduda VBA SendKeys käsu töösse.

Selles esimeses näites näeme väga lihtsat automatiseerimist, mis automaatselt salvestab praeguse avatud Exceli faili. Faili salvestamiseks ei pea vajutama nuppu Salvesta ega Ctrl + S. Tulemuse saavutamiseks toimige järgmiselt.

1. samm: avage moodul vahekaardil Lisa menüüst, nagu allpool näidatud.

2. samm: määratlege uus alaprotseduur, mis mahutab teie makro.

Kood:

 Alamnäide_1 () lõpp alam 

3. samm: Nüüd, kui soovite faili salvestada, on teil klaviatuuriklahvikombinatsioon Ctrl + S, et see koodiks teisendada, saame kasutada caret-operaatorit (^) ja seejärel märksõna "s" argumendina SendKeys-i avaldusele.

Kood:

 Alamnäide_1 () Application.SendKeys ("s") End Sub 

Märksõna rakendus määratleb siin rakenduse, millele me klahvikombinatsioone saadame (antud juhul Exceli rakendus). Sulgudes olev “s” täpsustab klaviatuuri sarnast toimingut Ctrl + S.

4. samm: käivitage see kood, vajutades nuppu Käivita või vajutades klahvi F5.

Pärast selle koodi edukat käivitamist salvestatakse teie fail.

VBA SendKeys - näide # 2

Nüüd näeme, kuidas sulgeda aktiivne rakendus, saates mikrokoodi kaudu kiirklahvid, kasutades meetodit SendKeys. Järgige järgmisi samme:

1. samm: kirjutage alamprotseduur, mida saab teie makro mooduli all hoida.

Kood:

 Alamnäide_2 () lõpp alam 

2. samm: kasutage klaviatuuri klahvide rakendusele edastamiseks rakendust Application.SendKeys. Kuna praeguse VBA-paani saab klaviatuuri Alt + Q otseteega sulgeda, võime makro all kasutada “% q”.

Kood:

 Alamnäide_2 () Application.SendKeys ("% q") End Sub 

3. samm: selle koodi käivitamiseks vajutage nuppu Käivita või F5. Niipea kui see kood käivitatakse, suletakse praegune Visual Basic Editor ja navigeerite Exceli faili.

VBA SendKeys - näide nr 3

Nüüd kirjutame koodi, mis automaatselt avab märkmiku ja kirjutab sinna automaatselt teksti. Vaadake allolevat ekraanipilti:

1. samm: kirjutage alamprotseduur, mida saab teie makro mooduli all hoida.

Kood:

 Alamnäide_3 () lõpp alam 

Call Shell võimaldab süsteemil rakenduse avada. Tee on seal, kus Notepad.exe asub. vbNormalFocus on valikuline argument, mis täpsustab rakenduse algse suuruse ja positsiooni avamisele ja taastamisele keskendumise.

2. samm: kasutage kõne- ja saatmisklahve kombinatsioonis, et süsteem saaks märkmikusse teksti lisada.

Kood:

 Alamnäide_3 () Helista Shell ("C: \ Windows \ System32 \ Notepad.exe", vbNormalFocus) End Sub 

3. samm: siia lisame märkmepadjale teksti SendKeys abil “Tere, VBA!”. True määrab käsu SendKeys ooteaja.

Kood:

 Alamnäide_3 () Call Shell ("C: \ Windows \ System32 \ Notepad.exe", vbNormalFocus) Call SendKeys ("Tere VBA!", True) End Sub 

4. samm: käivitage see kood, vajutades klahvi F5 või klõpsates nuppu Käivita.

Nii saame kasutada SendKeys meetodit rakenduste automatiseerimiseks läbi VBA makro.

Asjad, mida meeles pidada

  • Olge SendKeys'i kasutamise ajal väga ettevaatlik, kuna mitme rakenduse avatud korral võib see anda ootamatuid tulemusi.
  • Saate SendKeys abil automatiseerida väikesi ülesandeid, näiteks Exceli faili salvestamine või Exceli faili sulgemine jne.
  • Kui proovite asju automatiseerida, kasutage viimase võimalusena SendKeys-meetodit.

Soovitatav artikkel

See on VBA SendKeys juhend. Siin arutatakse, kuidas kasutada rakenduses Excel VBA SendKeys meetodit koos praktiliste näidete ja allalaaditava excelimalliga. Võite vaadata ka meie teisi soovitatud artikleid -

  1. VBA Kuigi silmus (näited Exceli malliga)
  2. VBA keskkond | Exceli mallid
  3. VBA eesmärgi otsing (näide)
  4. Kuidas muuta nime töölehte Excel VBA-s?