Tikhvin Vitali
VBA Crearea unui meniu
În interiorul aplicații Word și Excel, există trei tipuri de meniuri:
- Meniul șef - un meniu care este afișat în mod implicit în partea de sus a ferestrei de aplicație, deasupra meniului.
- Meniul contextual - un meniu care apare când faceți clic pe butonul din dreapta al mouse-ului pe orice obiect sau (în special, document Word sau Excel).
- Bara de instrumente - meniu, care poate fi pornit și oprit prin intermediul meniului standard de elemente ale creierului: bara de instrumente View.
Apel la meniul este prin obiecte CommandBars și ActiveMenuBar. Mai jos sunt exemple de a recurge la proprietatea Index a meniului cu numele „textul“ și la șeful meniul aplicației active:
Meniu, puteți crea o metodă de a adăuga CommandBars obiect.
Mai jos sunt două exemple de creare a creierului și meniul contextual:
Notă:
Meniul contextual și capul creat de către utilizator, nu este închis încă cererea, după închiderea care, din meniul contextual, iar capul este scos din ea.
Meniul utilizator cap poate fi afișat prin proprietatea Vizibil, iar meniul contextual prin metoda ShowPopup. Dacă un utilizator a creat un meniu părinte și a adus-o, acesta înlocuiește meniul standard de cerere și acolo până când aplicația este închisă, sau până când meniul este îndepărtat.
Exemplu: Acest exemplu arată modul în care pentru a afișa un meniu contextual și capul de aplicare.
Meniurile utilizatorilor pot fi eliminate prin caracteristica Ștergere. Resetarea prin proprietatea poate fi curățat cu meniul de utilizator sau meniul aplicației pe elementele adăugate.
exemplu:
Exemplu: În acest exemplu, elementul suplimentar adăugat la meniul primul nivel. Opțională de intrare parametru de tip metoda Add este utilizată pentru a seta tipul corespunzător al elementului de meniu adăugat. Cele mai frecvent utilizate valori pentru această proprietate: msoControlButton - sub-meniu nu conține alte paragrafe, msoControlPopup - submeniul este o listă de sub-în curs de desfășurare la nivelul următor. În cazul în care nu este obligatorie, parametrul de intrare ID-ul metodei Add este setată la 850, apoi elementul de meniu adăugat a fost selectat. După ce creați un element de meniu set proprietățile sale, care sunt explicate în capitolul meniu Proprietăți și metode.
Mai jos sunt procedurile pentru adăugarea de elemente de meniu: Aceste proceduri trebuie să creeze un modul în rutinele generale ale proiectului, în cazul în care vor fi adăugate elemente.
Pentru adăugarea directă a elementelor de meniu utilizate DobavitPunkty rutine DobavitPunkty2.
Mai jos sunt instrucțiuni pentru parametrii de intrare a acestor proceduri:
- Trebuie să specificați numele meniului. În cazul în care procedura de ImyaMenyu adăuga elemente este setat la un șir gol, apoi se adaugă punctele în meniul aplicației părinte.
Numele meniul contextual standard Word, după cum urmează:- „Text“ meniu -kontekstnoe pe textul evidențiat
- „Curve“ - meniul de comenzi rapide pe linii închiriate
- „Forme“ - Faceți clic dreapta pe Autoshape selectat
- Trebuie să introduceți numele evenimentelor ca un șir de caractere separate prin virgula.
- numele evenimentului nu trebuie să conțină spații sau simboluri .
- Dacă doriți să înregistrați și numele meniului evenimentului, iar elementul de meniu semnătură ele sunt separate prin punct și virgulă.
- Dacă în numele evenimentului de intrare conține spații și simbolul , Aceste caractere sunt eliminate automat din numele evenimentului, iar dacă nu specificați un element de meniu semnătură, elementul de meniu semnătură este transferat la numele evenimentului cu caractere interzise.
- Înainte de numele elementului de meniu evenimentului puteți introduce numere care va seta codul pentru meniul pictograma (a se vedea. Elemente de meniu Coduri pictograma). Dar elementul de meniu are sub-elemente, nu poate avea o pictogramă.
- Înainte de numele elementului evenimentului, și înainte de cifre identifică elementul de meniu pictograma, puteți introduce o subliniere „_“ sau un simbol minus „-“, apoi elementul de meniu va fi separat de celelalte elemente de pe linia de demarcație.
- Dacă doriți să sublinieze semnăturile scrisoare, înainte de a deveni un simbol al
- Dacă doriți să marcați elementul de meniu elementul de meniu semnătură trebuie să se încheie cu un spațiu (elementul de meniu are sub-elemente, nu pot fi separate).
- Parametrii de intrare pot fi paragrafe PunktyMenyu, care sunt separate din punct de meniu principal.
- Procedura de DobavitPunkty pot adăuga mai multe elemente de primul nivel, și de sub ele. Procedura DobavitPunkty2 doar un singur element al primului nivel poate fi adăugat (o singură trecere a procedurii), dar la acest punct, puteți adăuga-ambele sub-al doilea și al treilea nivel.
- Înainte de a adăuga elemente de meniu necesare pentru a crea în cadrul proiectului, din care elementele de meniu adăugate, modulul de rutine comune, care vor conține procedurile ale căror nume se potrivesc cu numele de evenimente ale elementelor de meniu (elementele de meniu care au sub-elemente, acestea nu trebuie să ceară, pentru că procedurile DobavitPunkty nu specifică proprietatea OnAction corespunzătoare pentru elementele de meniu de date. cm. proprietăţile și metodele de elementele de meniu).
exemplu:
Fig. 1 articole adăugate recent în meniul contextual „Text“
Notă:
Dacă doriți să adăugați un sub-meniu și apoi al patrulea nivel, atunci trebuie să crească nivelul de al treilea meniu contextual opțiunea de meniu odnoseansnym (a se vedea. Odnoseansnoe meniul contextual)
Controlează proprietățile și metodele obiectului sunt folosite pentru a retușa elementele de meniu. Pentru metoda Delete a elementului de meniu pentru a ascunde și afișa elementul de meniu icpolzuyut proprietate Vizibil pentru interzicerea și permisiunea elementelor de meniu Proprietăți - Enabled. Pentru a crea o linie de separare pentru proprietatea elementul de meniu - BeginGroup. Vizibil proprietate, Enabled și BeginGroup contează în mod corespunzător Adevărat dacă meniul este vizibil și activ și separat de alte elemente de pe linia de demarcație și False dacă meniul este ascuns și nu este activ și nu are nici o linie de demarcație. Pentru elementele de meniu care au proprietatea sub prin poate fi setat pictograma meniu cod FaceId (a se vedea. Elemente de meniu Coduri pictograma).
Dacă elementul de meniu are sub-elemente, atunci acest punct poate fi setat caracteristica Controls.ShortcutText care afișează la dreapta paragraf semnătură, care spune despre ce combinația de taste de control alocate pentru acest element de meniu (a se vedea. Atribuirea de butoane de control la elementul de meniu).
Prin proprietatea OnAction, puteți specifica numele procedurii care nu are parametri de intrare. Această procedură va fi declanșată atunci când faceți clic pe butonul din stânga al mouse-ului pe elementul de meniu corespunzător.
În cazul în care meniul este ascuns, dar proprietatea meniul BeginGroup este setat la True, linia de demarcație este un element de meniu ascuns văzut mai sus, urmată, urmată de puncte.
Puteți elimina și ascunde elementele din primul nivel, când eliminați și ascunde nivelul superior, toate sub-meniul situat în elementul de șters sunt șterse și ascunde cu el.
Controale în parametrul de intrare a obiectului este scris sau element de meniu semnătură sau indexul său.
(. A se vedea Adăugarea de elemente de meniu) rutinele DobavitPunkty adăugat meniu două puncte (element de meniu nu este etichetat, și același tip de ea - marcate). Iar meniul este vizibil doar unul dintre elementele de mai sus. Nu element de meniu marcat are o semnătură cu nici un spațiu la sfârșitul anului, și a marcat nici un gol, semnătura finală (pentru elementele standard care regula nu se aplica la meniu).
exemplu:
Meniul, care nu are sub-elemente, puteți seta comutatorul.
(. A se vedea Adăugarea de elemente de meniu) rutinele DobavitPunkty adăugat meniu două puncte (element de meniu nu este etichetat, și același tip de ea - marcate). Iar meniul este vizibil doar unul dintre elementele de mai sus. Nu element de meniu marcat are o semnătură cu nici un spațiu la sfârșitul anului, și a marcat golul, semnătura finală. Prin urmare, este necesar să se schimbe în cadrul procedurii de evenimente a elementelor de meniu proprietatea Vizibil pe revers: În cazul în care comutatorul este activat, proprietatea Vizibil a elementului de meniu corespunzător este setat la True: Notă:
Toate cele de mai sus este valabil numai pentru switch-uri care au fost adăugate proceduri DobavitPunkty. elemente de meniu standard cu switch-uri, construit pe un principiu diferit.
Pentru a afla pictogramele de meniu coduri, trebuie să creați procedurile de mai jos. Și executați procedura FaceIdPicture. Pentru a continua retragerea icoanelor, trebuie să apăsați Enter vă, pentru a finaliza - trebuie să fie selectate din meniul contextual „Exit“:
Puteți crea odnoseansnoe meniul contextual. Acest meniu este cel mai convenabil în Excel. pentru că în această aplicație foaie Excel este un eveniment care atrage clic pe butonul din dreapta al mouse-ului pe el. Aceasta vă permite să blocați ieșirea din meniul contextual standard și a afișa locul lor. Din păcate, documentul Word nu are un astfel de eveniment, iar în aplicația Word este posibilă numai pentru a adăuga elemente în meniul contextual standard de. De aceea, în funcție Word SozdatKontekstnoeMenyu poate fi rulat numai ca procedură pentru continuarea treilea meniu nivel sub (așa cum este descris la sfârșitul acestui capitol).
Pentru a bloca meniul de comenzi rapide de pe foaia de lucru Excel în modul trebuie foaie respectiv, într-o BeforeRightClick Cansel valoare procedură stabilită declanșată de un eveniment al parametrului de intrare la True. Prin coloană și proprietăților rândului obiectului țintă poate fi blocat de ieșire meniu de comenzi rapide standard, într-o anumită regiune a foii.
Exemplu: În acest exemplu, blocat meniul contextual standard de la a doua coloană și al patrulea rând, inclusiv.
Pentru a crea un meniu contextual, într-un modul al proiectelor de rutine generale pentru a crea o funcție: În același modul, trebuie să aveți procedură DannyeMenyu pe care le-am descris în capitolul Adăugarea elementelor din meniu. În același capitol a vorbit despre procedura de intrare parametrul PunktyMenyu DobavitPunkty. Această opțiune corespunde funcției PunktyMenyu SozdatKontekstnoeMenyu. Comutarea la punctul odnoseansnogo meniul contextual nu este construit ca un comutator de proceduri DobavitPunkty stabilite.
Exemplu: Acest exemplu creează un meniu de comenzi rapide foaie de lucru Excel pentru a schimba elemente.
caracteristică SozdatKontekstnoeMenyu poate fi rulat ca o procedură, de exemplu, pentru continuarea celei de a doua proceduri de eveniment la nivel de sub-direct din al doilea nivel elementele de meniu (în Word această caracteristică pentru a rula de sub-meniu al treilea nivel).
Exemplu: În acest exemplu, după apăsarea butonului din dreapta al mouse-ului pe foaia corespunzătoare și apoi selectând elementele de meniu corespunzătoare, meniul contextual va fi:
P IS 2. Meniul contextual utilizator după selectarea elementului PervyyUroven
P este meniul contextual 3. Utilizatorul după selectarea elementului VtoroyUroven1
pentru că prin proprietatea OnAction a unui element de meniu poate fi asociat cu procedura nu are parametri de intrare și procedura fără parametri de intrare în VBA pentru Word și Excel este un macro, atribuindu tastele de control pentru macro corespunzătoare, corespunde tastelor de control de destinație pentru elementele de meniu care sunt atribuite.
Tastele de control pentru macro-urile pot fi atribuite prin intermediul meniului de aplicații și program.
- Intrați în meniul: View-Toolbar-Setare
- În fila „Setări“, selectați „Comenzi“ și faceți clic pe „tastatură ...“, vezi p. IC 4.
Fig. 5 taste de control funcții în Word
În Excel, tastele de control sunt atribuite după cum urmează:
- Accesați meniul: Tools-Macro-Macrocomenzi
- În fereastra care apare, selectați numele dorit pentru macro și faceți clic pe „Options ...“ P IC 6.
F Ex. 7 destinație taste de control fereastra macro în Excel.
Notă:
Prin meniul Excel, aveți posibilitatea să atribuiți o tastă de comandă rapidă numai în combinație cu tasta CTRL sau CTRL + SHIFT, dar software-ul în această aplicație, puteți introduce alte combinații de taste de control.
În Excel, aveți posibilitatea să atribuiți programatic un chei macro prin aplicarea metodei obiect OnKey. Metoda OnKey are doi parametri cheie de intrare - la numirea de combinații de taste și de procedură - pentru a introduce numele macro, care este numit de tasta Control (înainte de numele macro poate fi numele unui registru de lucru Excel descărcat în cazul în care macro este vezi exemplul de mai jos Numele cărții de macro-uri comune .. - "PERSONAL.XLS"). Dacă parametrul procedură este omis, combinația de taste specificată este îndepărtată din macro-ul pentru care a fost instalat. Dacă parametrul de procedură este un șir gol, combinația de taste specificat este blocat în Excel. Combinația cheie este definită ca un șir de caractere, chei de linie sunt codificate după cum urmează:
În acest exemplu, tastele de control sunt atribuite Alt + 1 macro Punkt1, iar tastele Ctrl + Shift + O punkta macro situat într-un fișier Excel numit "My Book". Și a eliminat combinația de taste de control rezervat CTRL + Shift + B la proiectul macro.
În Word, cheile de control macro sunt definite prin metoda keybindings Adauga obiect, și îndepărtat prin metoda Disable FindKey obiect. Metoda Add keybindings obiect are parametrul de intrare keycode, care determină combinația de taste de control, precum și parametrul de intrare de comandă, care specifică numele macro. Funcția BuildKeyCode este proiectat pentru a seta tastele de control Codul parametrului de intrare Cod de acces. Funcția BuildKeyCode poate avea de la unu la patru argumente de intrare care sunt specificate de constante corespunzătoare: Prin CustomizationContext proprietate poate seta tipul de document care se adaugă sau șters în care combinația de taste de control.
exemplu: