„VBA SendKeys“

„VBA SendKeys“

VBA SendKeys metodas naudojamas siųsti klavišų paspaudimus aktyviai programai:

1 Application.SendKeys ("s")

Aukščiau pateiktas kodas imituos klaviatūros klavišo „s“ paspaudimą.

„SendKeys“ metodas apima du argumentus:

  • Klavišai - raktas (-ai), kurį (-ius) norite nusiųsti į programą kaip tekstą.
  • Laukti (Neprivaloma)- Ši vertė gali būti teisinga arba klaidinga. Jei „True“, tada „Excel“ laukia, kol raktai bus apdoroti prieš pradedant vykdyti kitą kodo eilutę. Jei klaidinga, „Excel“ toliau vykdo procedūrą nelaukdama raktų apdorojimo.

„SendKeys“ paprastai naudojamas sąveikaujant su kitomis programomis, nes tai greitas ir paprastas būdas atlikti užduotis. Pavyzdžiui, automatizuodami „Internet Explorer“ galite naudoti „SendKeys“.

Tačiau naudodami „SendKeys“ metodą turėtumėte būti labai atsargūs, nes tai gali turėti netikėtų rezultatų. „SendKeys“ rekomenduojame naudoti tik kaip paskutinę priemonę ir (arba) kai klaidos yra toleruojamos (arba lengvai aptinkamos).

„VBA SendKeys“ pavyzdžiai

Kiekvienas klavišas raidžių prasme yra simbolis, pavyzdžiui, a yra „a“.
Jei norite naudoti klavišus kartu su „Ctrl“, „Shift“ arba „Alt“, prieš rakto kodą turite nurodyti šiuos žodžius:

Raktas Kodas
Ctrl ^
Pamaina +
Alt %

Šis kodas naudoja „SendKeys“ metodą, kad išsaugotų darbaknygę:

12345 Sub UsingSendKeys ()Application.SendKeys ("^s")Pabaiga Sub

Kaip minėjome anksčiau, naudodami „SendKeys“ turite būti labai atsargūs. Šis kodas nurodo 10 sekundžių laukimo laiką, kol tekstas įvedamas/siunčiamas į „Notepad“. Laukdami 10 sekundžių, leisite „Notepad“ tinkamai atsidaryti, sumažindami klaidos tikimybę.

Pastaba: Šis kodas naudoja „Application.Wait“ metodą.

1234567 Sub UsingSendKeysWithWait ()Skambinkite „Shell“ („C: \ Windows \ system32 \ Notepad.Exe“, vbNormalFocus)Application.Wait (Dabar () + TimeValue ("00:00:10"))Skambinkite „SendKeys“ („Tai yra tam tikras tekstas“, tiesa)Pabaiga Sub

Rezultatas po 10 sekundžių laukimo yra toks:

„SendKeys“ gali būti labai greitas ir paprastas būdas atlikti užduotis. Tačiau klaidų rizika yra gana didelė. „SendKeys“ naudokite tik tada, kai ši rizika yra priimtina!

wave wave wave wave wave