Kaip naudoti „OnTime“ įvykius ir klavišų paspaudimo įvykius „Excel 2016 VBA“.

Programuodami „Excel 2016“ VBA galite naudoti dviejų tipų įvykius, nesusijusius su objektais: laiką ir klavišų paspaudimus. Kadangi laikas ir klavišų paspaudimai nėra susieti su konkrečiu objektu, pvz., darbaknyge ar darbalapiu, šiuos įvykius programuojate įprastame VBA modulyje.

„OnTime“ renginys

Įvykis „OnTime“ įvyksta, kai įvyksta tam tikras paros laikas. Šiame pavyzdyje parodyta, kaip priversti „Excel“ atlikti procedūrą, kai įvyksta 15 val. Tokiu atveju roboto balsas liepia pabusti kartu su pranešimo langeliu:

Sub SetAlarm()
  Application.OnTime 0.625, „DisplayAlarm“
Pabaigos sub
Sub DisplayAlarm()
  Application.Speech.Speak („Ei, atsibusk“)
  MsgBox "Atėjo laikas jūsų popietės pertraukai!"
Pabaigos sub

Šiame pavyzdyje naudojamas programos objekto OnTime metodas. Šiam metodui naudojami du argumentai: laikas (0,625 arba 15:00) ir antrinės procedūros pavadinimas, kuris turi būti vykdomas įvykus laiko įvykiui (DisplayAlarm).

Ši procedūra yra labai naudinga, jei esate linkęs taip įsitraukti į darbą, kad pamirštate apie susitikimus ir susitikimus. Tiesiog nustatykite OnTime įvykį, kad primintumėte apie save.

Daugeliui žmonių sunku galvoti apie laiką „Excel“ numeravimo sistemoje. Todėl laikui pavaizduoti galite naudoti funkciją VBA TimeValue. TimeValue paverčia eilutę, kuri atrodo kaip laikas, į vertę, kurią „Excel“ gali apdoroti. Šis teiginys rodo paprastesnį būdą suplanuoti įvykį 15 val.:

Application.OnTime TimeValue ("15:00:00"), "DisplayAlarm"

Jei norite suplanuoti įvykį pagal dabartinį laiką (pvz., 20 minučių nuo dabar), galite naudoti tokį teiginį:

Application.OnTime Now + TimeValue ("00:20:00"), "DisplayAlarm"

Taip pat galite naudoti OnTime metodą, kad atliktumėte VBA procedūrą tam tikrą dieną. Turite užtikrinti, kad jūsų kompiuteris veiktų ir kad darbaknygė su procedūra būtų atidaryta. Šis pareiškimas vykdo DisplayAlarm procedūrą 2016 m. gruodžio 31 d. 17 val.:

Application.OnTime DateValue ("2016-12-31 17:00"), "DisplayAlarm"

Ši konkreti kodo eilutė gali būti naudinga įspėjant, kad turite grįžti namo ir pasiruošti Naujųjų metų išvakarių šventėms.

Štai dar vienas pavyzdys, kuriame naudojamas OnTime įvykis. Vykdant UpdateClock procedūras, laikas įrašomas į langelį A1 ir taip pat užprogramuojamas kitas įvykis po penkių sekundžių. Šis įvykis iš naujo paleidžia UpdateClock procedūrą. Grynasis poveikis yra tas, kad langelis A1 atnaujinamas dabartiniu laiku kas penkias sekundes. Norėdami sustabdyti įvykius, atlikite StopClock procedūrą (kuri atšaukia įvykį). Atminkite, kad NextTick yra modulio lygio kintamasis, kuriame saugomas kito įvykio laikas.

Pritemdykite NextTick kaip datą
Sub UpdateClock()
Atnaujina langelį A1 su esamu laiku
  ThisWorkbook.Sheets(1).Range(“A1”) = laikas
' Nustatykite kitą įvykį po penkių sekundžių nuo dabar
  NextTick = dabar + laiko vertė ("00:00:05")
  Application.OnTime NextTick, „UpdateClock“
Pabaigos sub
Sub StopClock ()
Atšaukia OnTime įvykį (sustabdo laikrodį)
  Įvykus klaidai, tęskite toliau
  Application.OnTime NextTick, "UpdateClock", , False
Pabaigos sub

Įvykis „OnTime“ išlieka net uždarius darbaknygę. Kitaip tariant, jei uždarysite darbaknygę nepaleidę StopClock procedūros, darbaknygė vėl atsidarys po penkių sekundžių (darant prielaidą, kad Excel vis dar veikia). Norėdami to išvengti, naudokite Workbook_BeforeClose įvykio procedūrą, kurioje yra šis teiginys:

Skambinkite StopClock

„OnTime“ metodas turi du papildomus argumentus. Jei planuojate naudoti šį metodą, išsamios informacijos ieškokite pagalbos sistemoje.

Jei norite pamatyti gana sudėtingą programą, patikrinkite šią analoginio laikrodžio programą. Laikrodžio ciferblatas iš tikrųjų yra diagrama, o diagrama atnaujinama kas sekundę, kad būtų rodomas paros laikas. Nenaudingas, bet smagus.

Kaip naudoti „OnTime“ įvykius ir klavišų paspaudimo įvykius „Excel 2016 VBA“.

Analoginio laikrodžio programa.

Klavišų paspaudimo įvykiai

Kol dirbate, „Excel“ nuolat stebi, ką rašote. Dėl šios priežasties galite nustatyti taip, kad klavišų paspaudimas arba klavišų derinys atliktų procedūrą.

Štai pavyzdys, kuriuo iš naujo priskiriami PgDn ir PgUp raktai:

Sub Setup_OnKey()
  Application.OnKey „{PgDn}“, „PgDn_Sub“
  Application.OnKey „{PgUp}“, „PgUp_Sub“
Pabaigos sub
Sub PgDn_Sub()
  Įvykus klaidai, tęskite toliau
  ActiveCell.Offset(1, 0).Suaktyvinti
Pabaigos sub
Sub PgUp_Sub()
  Įvykus klaidai, tęskite toliau
  ActiveCell.Offset(-1, 0).Suaktyvinti
Pabaigos sub

Nustačius OnKey įvykius atlikus Setup_OnKey procedūrą, paspaudus PgDn, perkeliama viena eilute žemyn. Paspaudus PgUp, perkeliama viena eilute aukštyn.

Atkreipkite dėmesį, kad raktų kodai yra skliausteliuose, o ne skliausteliuose. Išsamų klaviatūros kodų sąrašą rasite pagalbos sistemoje. Ieškokite OnKey.

Šiame pavyzdyje „On Error Resume Next“ naudojamas norint nepaisyti visų sugeneruotų klaidų. Pavyzdžiui, jei aktyvus langelis yra pirmoje eilutėje, bandymas judėti viena eilute aukštyn sukelia klaidą, kurią galima saugiai ignoruoti. Ir jei diagramos lapas yra aktyvus, aktyvaus langelio nėra.

Vykdydami šią veiksmų seką, galite atšaukti OnKey įvykius:

Sub Cancel_OnKey()
  Application.OnKey „{PgDn}“
  Application.OnKey „{PgUp}“
Pabaigos sub

Naudojant tuščią eilutę kaip antrasis argumentas OnKey metodas nėra nėra atšaukti OnKey renginį. Atvirkščiai, „Excel“ tiesiog ignoruoja klavišo paspaudimą. Pavyzdžiui, šis teiginys nurodo „Excel“ nepaisyti Alt+F4. Procento ženklas reiškia Alt klavišą:

  Application.OnKey „%{F4}“, „“

Nors galite naudoti OnKey metodą, norėdami priskirti spartųjį klavišą makrokomandai vykdyti, šiai užduočiai turėtumėte naudoti dialogo langą Makrokomandos parinktys.

Jei uždarysite darbaknygę, kurioje yra kodas, ir paliksite „Excel“ atidarytą, „OnKey“ metodas nebus nustatytas iš naujo. Todėl paspaudus spartųjį klavišą „Excel“ automatiškai atidarys failą su makrokomandomis. Kad taip nenutiktų, turėtumėte įtraukti kodą į savo Workbook_BeforeClose įvykio kodą ir iš naujo nustatyti OnKey įvykį.


Kaip neleisti „Microsoft Word“ atidaryti failų tik skaitymo režimu sistemoje „Windows“.

Kaip neleisti „Microsoft Word“ atidaryti failų tik skaitymo režimu sistemoje „Windows“.

Kaip neleisti Microsoft Word atidaryti failų tik skaitymo režimu sistemoje Windows. Microsoft Word atidaro failus tik skaitymo režimu, todėl jų redaguoti neįmanoma? Nesijaudinkite, metodai pateikiami žemiau

Kaip ištaisyti neteisingą Microsoft Word dokumentų spausdinimą

Kaip ištaisyti neteisingą Microsoft Word dokumentų spausdinimą

Kaip ištaisyti klaidas spausdinant neteisingus Microsoft Word dokumentus.Klaidos spausdinant Word dokumentus su pakeistais šriftais, netvarkingomis pastraipomis, trūkstamo teksto ar prarasto turinio yra gana dažnos. Tačiau nereikia

Ištrinkite rašiklio ir paryškinimo piešinius savo „PowerPoint“ skaidrėse

Ištrinkite rašiklio ir paryškinimo piešinius savo „PowerPoint“ skaidrėse

Jei naudodami rašiklį ar žymeklį piešėte ant savo PowerPoint skaidrės pristatymo metu, galite išsaugoti brėžinius kitam pristatymui arba ištrinti juos, kad kitą kartą rodydami pradėtumėte nuo švarių PowerPoint skaidrių. Vykdykite šias instrukcijas, kad ištrintumėte rašiklio ir žymeklio piešinius: Trinti linijas po vieną […]

Stilių bibliotekos turinys „SharePoint 2010“.

Stilių bibliotekos turinys „SharePoint 2010“.

Stilių bibliotekoje yra CSS failų, XSL (Extensible Stylesheet Language) failų ir vaizdų, naudojamų iš anksto nustatytų puslapių puslapiuose, puslapių išdėstymuose ir valdikliuose „SharePoint 2010“. Norėdami rasti CSS failus publikavimo svetainės stilių bibliotekoje: pasirinkite Svetainės veiksmai → Peržiūrėti Visas svetainės turinys. Pasirodo svetainės turinys. Stiliaus biblioteka yra […]

Formatuokite skaičius tūkstančiais ir milijonais „Excel“ ataskaitose

Formatuokite skaičius tūkstančiais ir milijonais „Excel“ ataskaitose

Neužkraukite savo auditorijos milžiniškais skaičiais. Programoje „Microsoft Excel“ galite pagerinti informacijos suvestinių ir ataskaitų skaitomumą formatuodami skaičius, kad jie būtų rodomi tūkstančiais arba milijonais.

Kaip bendrinti ir stebėti „SharePoint“ svetaines

Kaip bendrinti ir stebėti „SharePoint“ svetaines

Sužinokite, kaip naudoti „SharePoints“ socialinių tinklų įrankius, leidžiančius asmenims ir grupėms bendrauti, bendradarbiauti, bendrinti ir prisijungti.

Kaip konvertuoti datas į Juliano formatus programoje „Excel“.

Kaip konvertuoti datas į Juliano formatus programoje „Excel“.

Julijaus datos dažnai naudojamos gamybos aplinkoje kaip laiko žyma ir greita partijos numerio nuoroda. Šio tipo datos kodavimas leidžia mažmenininkams, vartotojams ir paslaugų agentams nustatyti, kada produktas buvo pagamintas, taigi ir produkto amžių. Julijaus datos taip pat naudojamos programavimo, kariuomenės ir astronomijos srityse. Skirtingi […]

Kaip sukurti „Access“ žiniatinklio programą

Kaip sukurti „Access“ žiniatinklio programą

Galite sukurti žiniatinklio programą naudodami „Access 2016“. Taigi, kas vis dėlto yra žiniatinklio programa? Na, žiniatinklis reiškia, kad jis yra internete, o programa yra tik „programos“ santrumpa. Pasirinktinė žiniatinklio programa yra internetinė duomenų bazės programa, pasiekiama iš debesies naudojant naršyklę. Kuriate ir prižiūrite žiniatinklio programą darbalaukio versijoje […]

Greitosios paleidimo juosta „SharePoint 2010“.

Greitosios paleidimo juosta „SharePoint 2010“.

Daugumoje „SharePoint 2010“ puslapių sparčiojo paleidimo juostoje, esančioje kairėje puslapio pusėje, pateikiamas naršymo nuorodų sąrašas. Greitosios paleidimo juostoje rodomos nuorodos į siūlomą svetainės turinį, pvz., sąrašus, bibliotekas, svetaines ir publikavimo puslapius. Greitojo paleidimo juostoje yra dvi labai svarbios nuorodos: Visas svetainės turinys: […]

Ką reiškia „Excel“ sprendimo klaidų pranešimai?

Ką reiškia „Excel“ sprendimo klaidų pranešimai?

Paprastoms problemoms spręsti „Excel“ sprendėjas paprastai greitai suranda optimalias tikslinės funkcijos „Solver“ kintamųjų reikšmes. Tačiau kai kuriais atvejais „Solver“ turi problemų ieškant „Solver“ kintamųjų reikšmių, optimizuojančių tikslo funkciją. Tokiais atvejais „Solver“ paprastai rodo pranešimą arba klaidos pranešimą, kuriame aprašoma arba aptariama problema, kurią […]