Како да прилагодите меније пречица за Екцел 2016 у ВБА

Пре Екцел 2007, ВБА програмери су користили објекат ЦоммандБар за креирање прилагођених менија, прилагођених трака са алаткама и прилагођених менија са пречицама (десним кликом). Почевши од програма Екцел 2007, објекат ЦоммандБар је у прилично чудној позицији. Ако пишете код да бисте прилагодили мени или траку са алаткама, Екцел пресреће тај код и игнорише многе ваше команде.

Уместо да прикаже ваше добро осмишљено побољшање интерфејса, Екцел 2007 (као и касније верзије) једноставно избацује ваше прилагођене меније и траке са алаткама у свеобухватну картицу на траци под називом Додаци.

Прилагођавања менија и траке са алаткама завршавају у групи Додаци → Команде менија или групи Додаци → Прилагођене траке са алаткама. Али прилагођавање менија пречица (који такође користи ЦоммандБар објекат) и даље функционише као и увек - па, некако.

Суштина? Објекат ЦоммандБар више није много користан, али остаје једини начин за прилагођавање менија пречица.

Додавање нове ставке у мени пречице ћелије

Испод ћете пронаћи пример кода који додаје нову ставку у мени пречица који се појављује када кликнете десним тастером миша на ћелију. Требало би да будете у могућности да прилагодите ове примере својим потребама.

Можете мало побољшати тај услужни програм Цханге Цасе тако што ћете га учинити доступним из менија пречица ћелије.

Процедура АддТоСхортцут додаје нову ставку менија приручном менију ћелије. Можете га прилагодити тако да указује на ваше сопствене макрое тако што ћете променити својства Цаптион и ОнАцтион објекта под називом НевЦонтрол.

Суб АддТоСхортЦут()
  Дим Бар као командна трака
  Затамни нову контролу као дугме командне траке
  ДелетеФромСхортцут
  Постави траку = Апплицатион.ЦоммандБарс(„Ћелија“)
  Поставите НевЦонтрол = Бар.Цонтролс.Адд _
     (Тип:=мсоЦонтролБуттон, ИД:=1, _
     привремено:=Тачно)
  Са НевЦонтрол
    .Цаптион = „&Промени случај“
    .ОнАцтион = „ЦхангеЦасе“
    .Стиле = мсоБуттонИцонАндЦаптион
  Завршити
Енд Суб

Када измените приручни мени, та измена остаје на снази све док поново не покренете Екцел. Другим речима, измењени менији пречица се не ресетују када затворите радну свеску која садржи ВБА код. Стога, ако пишете код за измену приручног менија, скоро увек пишете код да бисте преокренули ефекат ваше измене.

Процедура ДелетеФромСхортцут уклања нову ставку менија из менија пречице ћелије:

Суб ДелетеФромСхортцут()
  У случају грешке Настави даље
  Апплицатион.ЦоммандБарс(“Целл”).Контроле _
    („&Промени случај“). Избриши
Енд Суб

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

Како да прилагодите меније пречица за Екцел 2016 у ВБА

Приручни мени ћелије који приказује прилагођену ставку менија: Промени велика и мала слова.

Прва стварна команда након декларације неколико променљивих позива процедуру ДелетеФромСхортцут. Ова изјава осигурава да се само једна ставка менија Цханге Цасе појављује на пречицама менија Ћелије. Покушајте да коментаришете тај ред (ставите апостроф на почетак реда) и покренете процедуру неколико пута — али немојте се заносити!

Кликните десним тастером миша на ћелију и видећете више инстанци ставке менија Цханге Цасе. Ослободите се свих уноса покретањем ДелетеФромСхортцут више пута (једном за сваку додатну ставку менија).

Коначно, потребан вам је начин да додате ставку менија пречице када се радна свеска отвори и да избришете ставку менија када је радна свеска затворена. Лако је ово урадити. Само додајте ове две процедуре догађаја у модул кода ТхисВоркбоок:

Приватна под Радна свеска_Опен()
Позовите АддТоСхортЦут
Енд Суб
Приватна под радна свеска_БефореЦлосе(Откажи као Боолеан)
Позовите ДелетеФромСхортцут
Енд Суб

Процедура Воркбоок_Опен се извршава када се радна свеска отвори, а Воркбоок_БефореЦлосе процедура се извршава пре него што се радна свеска затвори. Баш оно што је доктор наредио.

Шта је другачије у Екцел 2013 и Екцел 2016?

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

У прошлости, ако је ваш код изменио приручни мени, та измена је била на снази за све радне свеске. На пример, ако сте додали нову ставку у мени са десним кликом на ћелију, та нова ставка ће се појавити када кликнете десним тастером миша на ћелију у било којој радној свесци (плус друге радне свеске које отворите касније). Другим речима, модификације менија пречица су направљене на нивоу апликације .

Екцел 2013 и Екцел 2016 користе један интерфејс документа, а то утиче на меније пречица. Промене које уносите у меније пречица утичу само на прозор активне радне свеске. Када извршите код који мења приручни мени, мени пречица за прозоре који нису активни прозор неће бити промењен. Ово је радикално одступање од начина на који су ствари функционисале.

Још један преокрет: Ако корисник отвори радну свеску (или креира нову радну свеску) када активни прозор приказује измењени пречица мени, нова радна свеска такође приказује измењени мени пречица. Другим речима, нови прозори приказују исте приручне меније као и прозор који је био активан када су нови прозори отворени.

Закључак: У прошлости, ако сте отворили радну свеску или додатак који је изменио меније пречица, могли сте бити сигурни да ће измењени менији пречица бити доступни у свим радним свескама. Немате више то уверење.


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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