Како користити ОнТиме догађаје и догађаје притиска на тастер у Екцел 2016 ВБА

Постоје две врсте догађаја које можете да користите у ВБА програмирању за Екцел 2016 који нису повезани са објектима: време и притисак на тастере. Пошто време и притисци на тастере нису повезани са одређеним објектом као што је радна свеска или радни лист, ове догађаје програмирате у нормалном ВБА модулу.

Догађај ОнТиме

Догађај ОнТиме се јавља када наступи одређено доба дана. Следећи пример показује како да натерате Екцел да изврши процедуру када дође до догађаја у 15 часова. У овом случају, глас робота вам говори да се пробудите, праћен оквиром за поруку:

Суб СетАларм()
  Апплицатион.ОнТиме 0.625, „ДисплаиАларм“
Енд Суб
Суб ДисплаиАларм()
  Апплицатион.Спеецх.Спеак („Хеј, пробуди се“)
  МсгБок „Време је за поподневни распуст!“
Енд Суб

У овом примеру се користи метод ОнТиме објекта Апплицатион. Овај метод узима два аргумента: време (0,625 или 15:00) и назив Суб процедуре за извршење када дође до временског догађаја (ДисплаиАларм).

Ова процедура је прилично корисна ако сте склони да се толико увучете у посао да заборавите на састанке и састанке. Само подесите догађај ОнТиме да се подсетите.

Већина људи сматра да је тешко размишљати о времену у смислу Екцел система нумерисања. Због тога ћете можда желети да користите функцију ВБА ТимеВалуе за представљање времена. ТимеВалуе конвертује стринг који изгледа као време у вредност коју Екцел може да обради. Следећа изјава показује лакши начин за програмирање догађаја за 15 часова:

Апплицатион.ОнТиме ТимеВалуе(“15:00:00 пм”), “ДисплаиАларм”

Ако желите да закажете догађај у односу на тренутно време (на пример, 20 минута од сада), можете користити изјаву попут ове:

Апплицатион.ОнТиме Нов + ТимеВалуе(“00:20:00”), “ДисплаиАларм”

Такође можете да користите метод ОнТиме да покренете ВБА процедуру одређеног дана. Морате се уверити да ваш рачунар ради и да је радна свеска са процедуром отворена. Следећа изјава покреће ДисплаиАларм процедуру у 17 часова 31. децембра 2016:

Апплицатион.ОнТиме ДатеВалуе(„31.12.2016 17:00“), „ДисплаиАларм“

Ова конкретна линија кода би вам могла бити од користи да вас упозори да морате да идете кући и спремите се за новогодишње свечаности.

Ево још једног примера који користи догађај ОнТиме. Извршавање процедура УпдатеЦлоцк уписује време у ћелију А1 и такође програмира други догађај пет секунди касније. Овај догађај поново покреће процедуру УпдатеЦлоцк. Нето ефекат је да се ћелија А1 ажурира тренутним временом сваких пет секунди. Да бисте зауставили догађаје, извршите процедуру СтопЦлоцк (која поништава догађај). Имајте на уму да је НектТицк променљива на нивоу модула која чува време за следећи догађај.

Затамните следећу ознаку као датум
Суб УпдатеЦлоцк()
' Ажурира ћелију А1 тренутним временом
  ТхисВоркбоок.Схеетс(1).Ранге(“А1”) = Време
' Поставите следећи догађај за пет секунди
  НектТицк = Сада + ТимеВалуе(“00:00:05”)
  Апплицатион.ОнТиме НектТицк, „УпдатеЦлоцк“
Енд Суб
Суб СтопЦлоцк()
' Отказује догађај ОнТиме (зауставља сат)
  У случају грешке Настави даље
  Апплицатион.ОнТиме НектТицк, „УпдатеЦлоцк“, , Фалсе
Енд Суб

Догађај ОнТиме траје чак и након што се радна свеска затвори. Другим речима, ако затворите радну свеску без покретања процедуре СтопЦлоцк, радна свеска ће се поново отворити за пет секунди (под претпоставком да је Екцел још увек покренут). Да бисте ово спречили, користите процедуру догађаја Воркбоок_БефореЦлосе која садржи следећу изјаву:

Позовите СтопЦлоцк

Метод ОнТиме има два додатна аргумента. Ако планирате да користите овај метод, требало би да се обратите систему помоћи за потпуне детаље.

Ако желите да видите прилично компликовану апликацију, погледајте ову апликацију за аналогни сат. Бројач сата је заправо графикон, а графикон се ажурира сваке секунде како би приказао доба дана. Бескорисно, али забавно.

Како користити ОнТиме догађаје и догађаје притиска на тастер у Екцел 2016 ВБА

Апликација за аналогни сат.

Догађаји притиска на тастер

Док радите, Екцел стално прати шта куцате. Због тога можете да подесите ствари тако да притисак на тастер или комбинација тастера изврши процедуру.

Ево примера који поново додељује тастере ПгДн и ПгУп:

Суб Сетуп_ОнКеи()
  Апплицатион.ОнКеи „{ПгДн}“, „ПгДн_Суб“
  Апплицатион.ОнКеи „{ПгУп}“, „ПгУп_Суб“
Енд Суб
Суб ПгДн_Суб()
  У случају грешке Настави даље
  АцтивеЦелл.Оффсет(1, 0).Активирај
Енд Суб
Суб ПгУп_Суб()
  У случају грешке Настави даље
  АцтивеЦелл.Оффсет(-1, 0).Активирај
Енд Суб

Након подешавања ОнКеи догађаја извршавањем процедуре Сетуп_ОнКеи, притиском на ПгДн померате се за један ред надоле. Притиском на ПгУп померате се за један ред горе.

Обратите пажњу на то да су кодови тастера у заградама, а не у заградама. За комплетну листу кодова тастатуре, консултујте систем помоћи. Потражите ОнКеи.

У овом примеру, Он Еррор Ресуме Нект се користи да игнорише све грешке које се генеришу. На пример, ако је активна ћелија у првом реду, покушај да се помери за један ред навише изазива грешку која се безбедно може занемарити. А ако је лист графикона активан, нема активне ћелије.

Извршавањем следеће рутине отказујете ОнКеи догађаје:

Суб Цанцел_ОнКеи()
  Апплицатион.ОнКеи „{ПгДн}“
  Апплицатион.ОнКеи „{ПгУп}“
Енд Суб

Коришћење празног стринга као другог аргумента за методу ОнКеи не отказује догађај ОнКеи. Уместо тога, то узрокује да Екцел једноставно игнорише притисак на тастер. На пример, следећа изјава говори Екцел-у да игнорише Алт+Ф4. Знак процента представља тастер Алт:

  Апплицатион.ОнКеи „%{Ф4}“, „“

Иако можете да користите метод ОнКеи да бисте доделили тастерску пречицу за извршавање макроа, за овај задатак би требало да користите дијалог „Опције макроа“.

Ако затворите радну свеску која садржи код и оставите Екцел отворен, метод ОнКеи неће бити ресетован. Као последица тога, притиском на пречицу ће Екцел аутоматски отворити датотеку са макроом. Да бисте спречили да се то догоди, требало би да укључите код у свој Воркбоок_БефореЦлосе код догађаја да бисте ресетовали догађај ОнКеи.


Обришите цртеже оловком и маркером на својим ПоверПоинт слајдовима

Обришите цртеже оловком и маркером на својим ПоверПоинт слајдовима

Ако сте користили оловку или маркер за цртање на ПоверПоинт слајдовима током презентације, можете да сачувате цртеже за следећу презентацију или да их избришете тако да ћете следећи пут када их покажете почети са чистим ПоверПоинт слајдовима. Пратите ова упутства да бисте избрисали цртеже оловком и маркером: Брисање линија један на […]

Садржај библиотеке стилова у СхареПоинт 2010

Садржај библиотеке стилова у СхареПоинт 2010

Библиотека стилова садржи ЦСС датотеке, датотеке Ектенсибле Стилесхеет Лангуаге (КССЛ) и слике које користе унапред дефинисане главне странице, изгледе страница и контроле у ​​СхареПоинт 2010. Да бисте лоцирали ЦСС датотеке у библиотеци стилова на локацији за објављивање: Изаберите Радње сајта→Прикажи Сав садржај сајта. Појављује се садржај сајта. Библиотека Стил налази се у […]

Форматирајте бројеве у хиљадама и милионима у Екцел извештајима

Форматирајте бројеве у хиљадама и милионима у Екцел извештајима

Немојте претрпати своју публику огромним бројевима. У Мицрософт Екцел-у можете побољшати читљивост својих контролних табли и извештаја тако што ћете форматирати своје бројеве тако да се појављују у хиљадама или милионима.

Како делити и пратити СхареПоинт локације

Како делити и пратити СхареПоинт локације

Научите како да користите СхареПоинт алатке за друштвено умрежавање које омогућавају појединцима и групама да комуницирају, сарађују, деле и повезују се.

Како претворити датуме у јулијанске формате у Екцелу

Како претворити датуме у јулијанске формате у Екцелу

Јулијански датуми се често користе у производним окружењима као временска ознака и брза референца за број серије. Ова врста кодирања датума омогућава продавцима, потрошачима и услужним агентима да идентификују када је производ направљен, а тиме и старост производа. Јулијански датуми се такође користе у програмирању, војсци и астрономији. Различит […]

Како да направите приступну веб апликацију

Како да направите приступну веб апликацију

Можете да креирате веб апликацију у програму Аццесс 2016. Дакле, шта је уопште веб апликација? Па, веб значи да је онлајн, а апликација је само скраћеница за „апликацију“. Прилагођена веб апликација је апликација базе података на мрежи којој се приступа из облака помоћу претраживача. Ви правите и одржавате веб апликацију у верзији за десктоп […]

Трака за брзо покретање у СхареПоинт 2010

Трака за брзо покретање у СхареПоинт 2010

Већина страница у систему СхареПоинт 2010 приказује листу веза за навигацију на траци за брзо покретање дуж леве стране странице. Трака за брзо покретање приказује везе ка садржају истакнутог сајта као што су листе, библиотеке, сајтови и странице за објављивање. Трака за брзо покретање укључује две веома важне везе: Линк за сав садржај сајта: […]

Шта значе поруке о грешци решавача у Екцел-у?

Шта значе поруке о грешци решавача у Екцел-у?

За једноставне проблеме, Солвер у Екцел-у обично брзо проналази оптималне вредности променљиве Решавача за функцију циља. Али, у неким случајевима, Солвер има проблема да пронађе вредности променљиве Солвера које оптимизују функцију циља. У овим случајевима, Солвер обично приказује поруку или поруку о грешци која описује или расправља о проблему који […]

Како уклонити израчуната поља и ставке из Екцел заокретне табеле

Како уклонити израчуната поља и ставке из Екцел заокретне табеле

Можете лако да уклоните израчуната поља и ставке из Екцел заокретне табеле. Да бисте уклонили израчунато поље, кликните на ћелију у изведеној табели. Затим кликните на команду Поља, ставке и скупови на картици Анализа и изаберите Израчунато поље из подменија који се појави. Када Екцел прикаже дијалог Уметање израчунатог поља, изаберите […]

Како означити у СхареПоинт-у

Како означити у СхареПоинт-у

Ознаке су кључне речи које додељујете садржају. Означавање страница за дељење са другима је обележавање на друштвеним мрежама, веома је популарно на вебу и лако је у СхареПоинт-у. Ако сте икада користили сајт као што је Делициоус, већ знате како функционише обележавање на друштвеним мрежама. Како све више људи додељује исте ознаке, ознаке постају начин на који […]