ПредишенСледващото

VBA създадете меню

Tikhvin Виталий
VBA Създаване на менюта

Вътре в Word и Excel приложения, има три вида менюта:
  • Ръководител меню - меню, което се показва по подразбиране в горната част на прозореца на приложението, по-горе в менюто.
  • Контекстното меню - меню, което се появява, когато щракнете с десния бутон на мишката върху всеки обект, или (по-специално Word документ или Excel работна книга).
  • Toolbar - меню, което може да се включва и изключва чрез стандартната предмети мозъка Меню: Вижте Toolbar.
Най-често VBA програмист работи с главата и контекстното меню. В този урок ще бъде тя да работи с тези видове меню приложения.

Апел към менюто е чрез предмети CommandBars и ActiveMenuBar. По-долу са примери за прибягване до имота индекс менюто с "текст" името и на ръководителя на активното меню приложение:

Меню, можете да създадете метод добавите CommandBars обект.
По-долу са два примера за създаване на мозъка и контекстното меню:
Забележка:
В контекстното меню и главата създадени от потребителя, там все още не е затворен за прилагане, след приключването на което, контекстното меню, а главата се отстранява от него.

Ръководител потребителското меню може да бъде показана чрез Видим собственост и контекстното меню чрез метод ShowPopup. Ако даден потребител е създал меню родител и да го донесе, той замества стандартния менюто приложения и там, докато не се приключи или докато менюто се отстранява.

Пример: Този пример показва как да се покаже контекстното меню и главата на кандидатстване.

Потребителски менюта могат да бъдат отстранени чрез изтриване функция. Reset през имота може да се почисти с потребителското меню или менюто с приложения на добавените елементи.

например:

Елемент от меню се добавя от добавяте елементи за управление възрази, че е потомък обекти CommandBars и ActiveMenuBar.

Пример: В този пример, допълнителен елемент добавена към менюто първо ниво. Метод за въвеждане на незадължителен параметър Тип Add се използва за задаване на подходящия вид на добавената от менюто. Най-често използваните стойности за този имот: msoControlButton - подменю не съдържа други алинеи, msoControlPopup - подменю е даден списък на текущо под следващото ниво. Ако това не е задължително, входната величина ID на метода за добавяне е настроен на 850, а след това добавя елемент от менюто е избран. След като създадете елемент от менюто определя неговите свойства, които са обяснени в глава свойства и методи на менюто.
По-долу са процедурите за добавяне на елементи от менюто: Тези процедури трябва да се създаде модул в общите съчетания на проекта, където ще бъдат добавени елементите.
За директно добавяне на елементи от менюто се използва за процедурите DobavitPunkty DobavitPunkty2.
Следват инструкции за въвеждане на параметрите на тези процедури:
  1. Трябва да укажете името на менюто. Ако процедурата ImyaMenyu добавяте елементи е настроен на празен низ, тогава точките се добавят към менюто на родителското приложение.
    Имената на стандартната контекстното меню на Word, както следва:
    • "Текст" -kontekstnoe менюто на маркирания текст
    • "Curve" - ​​най-пряк път менюто на линии под наем
    • "Shapes" - с десен бутон върху избрания AutoShape
  2. Трябва да въведете имената на събитията като низ разделени със запетая.
  3. име случай не трябва да съдържа интервали или символи ,
  4. Ако искате да се запишете и име на менюто събитие и елемент от менюто подпис те са разделени с точка и запетая.
  5. Ако в името на входния сигнал събитие съдържа пространства и символът , Тези знаци се премахват автоматично от името на събитието, а ако не посочите точка подпис меню, елементът от менюто подпис се прехвърлят на името на събитие с забранени символи.
  6. Преди името на елемента събитие меню можете да въведете номера, които ще определят кода за менюто на иконата (вж. Позиции Кодове икона в менюто). Но опцията в менюто има подточки, не може да има икона.
  7. Преди името на елемента на събитието, както и преди цифра идентифицира елемента иконата на менюто, можете да въведете долна черта "_" или символ минус "-", а след това опцията в менюто ще бъде отделно от всички други предмети на разделителната линия.
  8. Ако искате да се наблегне на писмо подписи, преди да се превърне в символ на
  9. Ако искате да маркирате подпис елемент от менюто опцията в менюто трябва да завършва с интервал (опцията в менюто има подточки, не може да се отдели).
  10. Параметрите на въвеждане могат да бъдат PunktyMenyu букви, които се отделят от основната точка на менюто.
  11. процедура DobavitPunkty да добавите няколко позиции на първо ниво, и да ги вторично. Процедура DobavitPunkty2 само един елемент от първо ниво може да се добави (един-единствен план на процедурата), но до този момент, можете да добавите и двете под-втора и трета степен.
  12. Преди да добавите елементи от менюто, за да се създаде в рамките на проекта, от които се добавят елементи от менюто, модулни общите съчетания, които ще съдържат процедурите, чиито имена съвпадат имената случай на елементите от менюто (Меню за елементите, които имат подточки, те не трябва да попитам, тъй като DobavitPunkty процедури не уточняват подходящата OnAction имота за елементите на менюто данни. см. свойствата и методите на елементите от менюто).

    например:



Фиг. 1 Последно добавени елементи в контекстното меню "текст"


Забележка:
Ако искате да добавите подменю и след четвърто ниво, тогава ще трябва да расте трето ниво опция от менюто odnoseansnym контекстното меню (вж. Odnoseansnoe контекстното меню)

Контролира свойствата и методите на обекта се използват, за да ретуширате елементи от менюто. За изтриване метода на елемента от менюто, за да се скрие и да се покаже опцията в менюто icpolzuyut Видим имот за забрана и разрешение на опции в менюто се свойствата на - Enabled. За да създадете сепаратор линия до имота на елемент от менюто - BeginGroup. Видим собственост, Enabled и BeginGroup значение съответно True, ако в менюто се вижда и е активен и отделно от другите елементи на разделителната линия и False, ако в менюто е скрита и не е активен и няма разделителна линия. За менюто елементи, които имат под-чрез имот може да се настрои икона FaceId код меню (вж. Позиции Кодове икона в менюто).
Ако опцията в менюто има подточки, тогава тази точка може да се настрои Controls.ShortcutText функция, която показва в дясно от точка на подпис, който разказва за това, което комбинацията от клавиши за контрол, предназначени за този елемент от менюто (вж. Прехвърляне на бутони за управление на елемента от менюто).
Чрез OnAction имота, можете да укажете името на процедурата, което няма входни параметри. Тази процедура ще стартира, когато натиснете левия бутон на мишката върху съответната точка от менюто.
Ако менюто е скрита, но меню BeginGroup собственост е настроена да Вярно е, че разделителната линия е скрит елемент от менюто се вижда по-горе, последван, следван от точки.
Можете да премахнете и да се скрият елементи от първо ниво, когато премахнете и да се скрият на горното ниво, всички подменю намира в изтрит елемент се изтриват и да се скрият с него.
Контроли на входната величина на обекта е написана или елемент от менюто подпис или индекса си.
(. Вижте Добавяне на елементи от менюто) рутинни процедури DobavitPunkty добавя меню две точки (не е маркиран елемент от менюто, и от същия тип на него - маркирани). И менюто е видима само за един от по-горе продукти. Не е подчертан елемент от менюто, има подпис без интервал в края, и маркирани никакъв пропуск, окончателното подписване (за стандартни елементи, които управляват не се прилага за менюто).

например:

Менюто, което не разполага с подточки, можете да зададете ключа.
(. Вижте Добавяне на елементи от менюто) рутинни процедури DobavitPunkty добавя меню две точки (не е маркиран елемент от менюто, и от същия тип на него - маркирани). И менюто е видима само за един от по-горе продукти. Не е подчертан елемент от менюто, има подпис без интервал в края и е с етикет на пропастта, крайният подпис. Поради това е необходимо да се промени в рамките на процедурата за събитие на елементите от менюто на Видим собственост на гърба: Ако се активира ключа, на Видима собственост на съответната точка от менюто е избрано Вярно: Забележка:
Всички по-горе е вярно само за ключове, които са били добавени DobavitPunkty процедури. Стандартни елементи от менюто с ключове, построен на различен принцип.

За да разберете иконите в менюто, кодове, трябва да се създаде процедурите по-долу. И тече процедура FaceIdPicture. За да продължите изтеглянето на иконите, трябва да натиснете Enter, за да завърши - трябва да се избере от контекстното меню "Изход":

Можете да създадете odnoseansnoe контекстното меню. Това меню е най-удобно в Excel. защото в настоящото заявление, Excel лист е събитие, което улови, кликнете с десния бутон на мишката върху него. Това ви позволява да заключите изхода на стандартната контекстното меню и показване на мястото им. За съжаление, документ Word не разполага с такова събитие, както и при прилагането Word е възможно само да се добавят точки към стандартната контекстното меню. Ето защо, в зависимост Word SozdatKontekstnoeMenyu може да се управлява само като процедура за продължаване на трето меню подниво (както е описано в края на тази глава).
С цел да се заключва в контекстното меню на работния лист Excel в модул трябва съответния лист, в събитие, предизвикано от BeforeRightClick Cansel процедура зададена стойност на входната величина на True. Чрез колоните и редовете имоти Target обект може да бъде заключена изход стандарт меню за бърз достъп до определена област на листа.

Пример: В този пример, заключена стандарт на контекстното меню на втората колона и на четвъртия ред, включително.
За създаване на контекстно меню, в един модул от проекта на общ практиката за създаване на функция: По същия модул, трябва да имате процедура DannyeMenyu че сме описано в глава Добавяне на елементи в менюто. В същия раздел говорихме за входен параметър на процедурата по PunktyMenyu DobavitPunkty. Тази опция съответства функция PunktyMenyu SozdatKontekstnoeMenyu. Превключете в параграф odnoseansnogo контекстното меню не е изградена като превключвател DobavitPunkty установените процедури.

Пример: Този пример създава Excel меню лист пряк път за промяна на предмети.
SozdatKontekstnoeMenyu функция може да се управлява като процедура, например, за продължаване на втория процедурите за поднивата събитие директно от елементите второто меню ниво (в Word тази функция да се изпълнява от подменюто трето ниво).

Пример: В този пример, след натискане на десния бутон на мишката върху съответния лист и след това да изберете подходящите опции в менюто, контекстното меню ще бъде:


Р Е 2. меню контекста на потребителя, след като изберете елемента PervyyUroven

Р Е меню 3. контекста на потребителя, след като изберете елемента VtoroyUroven1

защото през OnAction собственост на елемент от менюто, може да бъде свързан с процедурата, все още няма входни параметри и процедурата без входни параметри в VBA за Word и Excel е макро, възлагане на бутоните за управление за съответния макрос, отговаря на клавишите за управление дестинация на елементите от менюто, които са им възложени.
клавиши за управление на макроси могат да бъдат определени чрез менюто за приложения и програмата.

В Word, клавишите за управление са определени, както следва:
  1. Влезте в менюто: Вижте-Toolbar-Setting
  2. В раздела "Настройки" изберете "команди" и натиснете бутона "Клавиатура ..." виж. P IC 4.


Фиг. 5 контролни клавиши функция в Word


В Excel, клавишите за управление са определени, както следва:

  1. Влезте в менюто: Tools-макроси макроси
  2. В прозореца, който се появява, изберете желаното име за макроса и натиснете бутона "Опции ..." P IC 6.
  • В poyavishemsya прозорец, за да отидете на "пряк път", виж. Фигура 7.
  • В "пряк път" в начина на погасяване Caps Loock (с главни букви), за да влязат на латинската буква в комбинация с клавиша Shift, или без него, и натиснете OK см. Фигура 7.

  • F Ex. 7 дестинация клавиши за управление прозореца макро в Excel.


    Забележка:
    Чрез менюто Excel, можете да зададете клавишна комбинация само в комбинация с клавиша CTRL или Ctrl + Shift, но софтуера в това приложение, можете да въведете други комбинации от клавиши за управление.

    В Excel, можете да присвоите програмно клавиша за макроси чрез обект приложение Методът OnKey. OnKey метод има две входни параметри - за да назначаване на клавишни комбинации и дейността - за да въведете името на макроса, който се назначава от клавиша Control (пред името на макроса, може да бъде на името на изтегления Excel работна книга, където макроса е вижте примера по-долу Име на книгата на общи макроси .. - "PERSONAL.XLS"). Ако параметър на процедурата е пропуснат, определена комбинация от клавиши се отстранява от макроса, към която е била монтирана. Ако параметърът на дейността е празен низ, определената комбинация от клавиши е заключен в Excel. Ключовата комбинация се определя като низ, ключове линия са кодирани, както следва:

    В този пример, клавишите за контрол са възложени Alt + 1 макро Punkt1 и ключове Ctrl + Shift + A макро PunktA намира в Excel файл, наречен "Моята книга". И премахна запазени комбинация от клавиши за контрол на Ctrl + Shift + B на макро проекта.
    В Word, клавишите за макро контрол се определят по метода Добави KeyBindings обект, и се отстраняват чрез метод Disable FindKey обект. Методът Добави KeyBindings обект има входната величина кодът, който определя комбинацията от клавиши за контрол, както и параметър от командния вход, в който се посочва името на макроса. функция BuildKeyCode има за цел да създаде ключове код за контрол на ключовата комбинация входната величина. функция BuildKeyCode може да има от една до четири входни аргументи, които са определени от съответните константи: Чрез CustomizationContext имот да зададете вида на документа, който се добавя или заличава, в който комбинацията от клавиши за управление.

    например:

    Primechenie radaktora

    Свързани статии

    Подкрепете проекта - споделете линка, благодаря!