Kuidas kasutada OnTime sündmusi ja klahvivajutuse sündmusi Excel 2016 VBA-s

Excel 2016 VBA programmeerimises saate kasutada kahte tüüpi sündmusi, mis pole objektidega seotud: aeg ja klahvivajutused. Kuna aeg ja klahvivajutused ei ole seotud konkreetse objektiga, näiteks töövihiku või töölehega, programmeerite need sündmused tavalises VBA-moodulis.

OnTime sündmus

Sündmus OnTime toimub siis, kui ilmneb konkreetne kellaaeg. Järgmine näide näitab, kuidas panna Excel toimingut käivitama, kui toimub kell 15.00 sündmus. Sel juhul käseb roboti hääl ärgata koos sõnumikastiga:

Sub SetAlarm()
  Application.OnTime 0.625, "DisplayAlarm"
Lõpeta alam
Sub DisplayAlarm()
  Application.Speech.Speak ("Hei, ärka üles")
  MsgBox "On aeg teie pärastlõunaseks puhkuseks!"
Lõpeta alam

Selles näites kasutatakse rakenduse objekti meetodit OnTime. Sellel meetodil on kaks argumenti: aeg (0,625 või 15:00) ja ajasündmuse toimumisel käivitatava alamprotseduuri nimi (DisplayAlarm).

See protseduur on üsna kasulik, kui kipute oma töösse nii sisse keerama, et unustate koosolekud ja kohtumised. Seadistage lihtsalt meeldetuletuseks OnTime sündmus.

Enamikul inimestel on Exceli nummerdamissüsteemis raske aega mõelda. Seetõttu võiksite aja esitamiseks kasutada funktsiooni VBA TimeValue. TimeValue teisendab stringi, mis näeb välja nagu aeg, väärtuseks, mida Excel saab käsitleda. Järgmine avaldus näitab lihtsamat viisi sündmuse programmeerimiseks kella 15-ks:

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

Kui soovite ajastada sündmuse praeguse aja suhtes (näiteks 20 minuti pärast), võite kasutada järgmist avaldust:

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

OnTime meetodit saate kasutada ka VBA-protseduuri käivitamiseks konkreetsel päeval. Peate veenduma, et teie arvuti töötab jätkuvalt ja protseduuriga töövihik on avatud. Järgmine avaldus käivitab DisplayAlarmi protseduuri 31. detsembril 2016 kell 17:00:

Application.OnTime DateValue ("31.12.2016 17:00"), "DisplayAlarm"

See konkreetne koodirida võib olla kasulik hoiatades teid, et peate koju minema ja valmistuma aastavahetuse pidustusteks.

Siin on veel üks näide, mis kasutab OnTime sündmust. UpdateClocki protseduuride täitmine kirjutab aja lahtrisse A1 ja programmeerib viis sekundit hiljem ka teise sündmuse. See sündmus käivitab uuesti UpdateClocki protseduuri. Netoefekt on see, et lahtrit A1 värskendatakse praeguse kellaajaga iga viie sekundi järel. Sündmuste peatamiseks käivitage protseduur StopClock (mis tühistab sündmuse). Pange tähele, et NextTick on moodulitaseme muutuja, mis salvestab järgmise sündmuse aja.

Dim NextTick As Date
Alam UpdateClock()
Värskendab lahtrit A1 praeguse kellaajaga
  ThisWorkbook.Sheets(1).Range(“A1”) = aeg
Seadistage järgmine sündmus viie sekundi pärast
  NextTick = Praegu + TimeValue ("00:00:05")
  Application.OnTime NextTick, "UpdateClock"
Lõpeta alam
Sub StopClock()
' Tühistab OnTime sündmuse (peatab kella)
  Vea korral Jätka järgmisena
  Application.OnTime NextTick, "UpdateClock", , False
Lõpeta alam

Sündmus OnTime püsib ka pärast töövihiku sulgemist. Teisisõnu, kui sulgete töövihiku ilma StopClocki protseduuri käivitamata, avaneb töövihik viie sekundi pärast uuesti (eeldusel, et Excel töötab endiselt). Selle vältimiseks kasutage sündmuse protseduuri Workbook_BeforeClose, mis sisaldab järgmist avaldust:

Helista StopClockile

OnTime meetodil on kaks täiendavat argumenti. Kui kavatsete seda meetodit kasutada, vaadake täielikke üksikasju spikrisüsteemist.

Kui soovite näha mõnda üsna keerulist rakendust, vaadake seda analoogkella rakendust. Kella sihver on tegelikult diagramm ja diagrammi uuendatakse iga sekundi järel, et kuvada kellaaeg. Kasutu, aga lõbus.

Kuidas kasutada OnTime sündmusi ja klahvivajutuse sündmusi Excel 2016 VBA-s

Analoogkella rakendus.

Klahvivajutuse sündmused

Töötamise ajal jälgib Excel pidevalt, mida sisestate. Seetõttu saate seadistada nii, et klahvivajutus või klahvikombinatsioon käivitab protseduuri.

Siin on näide, mis määrab PgDn ja PgUp võtmed ümber:

Alamseadistus_OnKey()
  Application.OnKey “{PgDn}”, “PgDn_Sub”
  Application.OnKey "{PgUp}", "PgUp_Sub"
Lõpeta alam
Sub PgDn_Sub()
  Vea korral Jätka järgmisena
  ActiveCell.Offset(1, 0).Aktiveeri
Lõpeta alam
Sub PgUp_Sub()
  Vea korral Jätka järgmisena
  ActiveCell.Offset(-1, 0).Aktiveeri
Lõpeta alam

Pärast OnKey sündmuste seadistamist protseduuri Setup_OnKey abil liigutab PgDn vajutamine teid ühe rea võrra allapoole. PgUp vajutamine viib teid ühe rea võrra ülespoole.

Pange tähele, et võtmekoodid on sulgudes, mitte sulgudes. Klaviatuurikoodide täieliku loendi leiate abisüsteemist. Otsige OnKey.

Selles näites kasutatakse suvandit On Error Resume Next, et ignoreerida genereeritud tõrkeid. Näiteks kui aktiivne lahter asub esimeses reas, põhjustab ühe rea võrra ülespoole liikumise katse tõrke, mida saab ohutult ignoreerida. Ja kui diagrammileht on aktiivne, pole aktiivset lahtrit.

Järgmist rutiini käivitades tühistate OnKey sündmused:

Sub Cancel_OnKey()
  Application.OnKey “{PgDn}”
  Application.OnKey “{PgUp}”
Lõpeta alam

Tühja stringi kasutamine OnKey meetodi teise argumendina ei tühista OnKey sündmust. Pigem paneb Excel lihtsalt klahvivajutust ignoreerima. Näiteks järgmine lause käsib Excelil Alt+F4 ignoreerida. Protsendimärk tähistab klahvi Alt:

  Application.OnKey "%{F4}", ""

Kuigi saate makro käivitamiseks kiirklahvi määramiseks kasutada meetodit OnKey, peaksite selle ülesande jaoks kasutama dialoogiboksi Makro suvandid.

Kui sulgete koodi sisaldava töövihiku ja jätate Exceli avatuks, siis OnKey meetodit ei lähtestata. Selle tulemusena avab Excel kiirklahvi vajutamisel faili automaatselt makroga. Selle vältimiseks lisage kood oma Workbook_BeforeClose sündmuse koodile, et OnKey sündmus lähtestada.

Leave a Comment

10 näpunäidet paremateks Microsoft Teamsi koosolekuteks

10 näpunäidet paremateks Microsoft Teamsi koosolekuteks

Uurige kümmet nõuannet Microsoft Teamsiga parema koosolekukogemuse saamiseks, sealhulgas märkmete tegemine, tausta hägustamine, vaigistamine ja koosolekute salvestamine.

Kuidas Word 2013 dokumentides kommentaare üle vaadata ja kustutada

Kuidas Word 2013 dokumentides kommentaare üle vaadata ja kustutada

Lühikeses Word 2013 dokumendis saate kommentaare hõlpsalt sirvida ja uurida. Siit leiate samm-sammult, kuidas kommentaare lugeda ja eemaldada.

Kuidas parandada Word 2016 tavalist malli

Kuidas parandada Word 2016 tavalist malli

Mõnikord varitseb kurjus selles, mis peaks olema Word 2016 peamises mõistlikkuse hoidlas: tavalises mallifailis. Õpi, kuidas taastada normaalne mall ja eemaldada probleemid.

Kuidas lisada lõigu taane Word 2013-s

Kuidas lisada lõigu taane Word 2013-s

Kuidas lisada lõigu taane Word 2013-s, et luua selgem ja professionaalsem ilme. Meie juhend aitab sul lihtsasti navigeerida Wordi funktsioonide kaudu ja tutvustab esimeses reas taande ning rippuva taande lisamise viise.

Kuidas Outlook 2016-s uusi kiireid samme luua

Kuidas Outlook 2016-s uusi kiireid samme luua

Lisaks kuuele kiirtoimingule, mis kuvatakse Outlooki esmakordsel installimisel, on teil valida veelgi rohkemate Quick Step mallide hulgast.

Kustutage oma PowerPointi slaididelt pliiatsi ja esiletõstja joonised

Kustutage oma PowerPointi slaididelt pliiatsi ja esiletõstja joonised

Kui olete esitluse ajal PowerPointi slaididele joonistamiseks kasutanud pliiatsit või markerit, saate joonised järgmise esitluse jaoks salvestada või need kustutada, nii et järgmisel näitamisel alustate puhaste PowerPointi slaididega. Pliiatsi ja markeri jooniste kustutamiseks järgige neid juhiseid: joonte kustutamine […]

Stiili teegi sisu rakenduses SharePoint 2010

Stiili teegi sisu rakenduses SharePoint 2010

Style'i teek sisaldab CSS-faile, XSL-faile ja eelmääratletud mallilehtede, lehepaigutuste ja juhtelementide poolt kasutatavaid pilte rakenduses SharePoint 2010. CSS-failide leidmiseks avaldamissaidi stiiliteegist: valige saidi toimingud → vaade. Kogu saidi sisu. Ilmub saidi sisu. Style raamatukogu asub […]

Vormindage numbreid tuhandetes ja miljonites Exceli aruannetes

Vormindage numbreid tuhandetes ja miljonites Exceli aruannetes

Ärge uputage oma publikut tohutute numbritega. Microsoft Excelis saate parandada oma armatuurlaudade ja aruannete loetavust, vormindades numbrid tuhandetes või miljonites.

Kuidas SharePointi saite jagada ja jälgida

Kuidas SharePointi saite jagada ja jälgida

Siit saate teada, kuidas kasutada SharePointi suhtlusvõrgustiku tööriistu, mis võimaldavad üksikisikutel ja rühmadel suhelda, koostööd teha, jagada ja ühendada.

Kuidas teisendada kuupäevi Excelis Juliani vormingutesse

Kuidas teisendada kuupäevi Excelis Juliani vormingutesse

Julia kuupäevi kasutatakse tootmiskeskkondades sageli ajatemplina ja partiinumbri kiirviitena. Seda tüüpi kuupäevade kodeerimine võimaldab jaemüüjatel, tarbijatel ja teenindusagentidel tuvastada toote valmistamise aja ja seega toote vanuse. Juliuse kuupäevi kasutatakse ka programmeerimises, sõjaväes ja astronoomias. Erinevad […]