Schimbarea meniurilor și a barelor de instrumente cu vba

Prezentarea posibilităților de creare și personalizare a meniurilor și barelor de instrumente nu ar fi completă dacă nu am vorbi despre posibilitățile de gestionare programatică a acestor obiecte. Veți avea nevoie de aceste caracteristici, dacă este necesar, de exemplu:







  • Pentru a face meniul, comanda de meniu sau butonul din bara de instrumente indisponibilă;
  • Ascundeți sau afișați meniul, comanda de meniu sau butonul din bara de instrumente;
  • ascunde sau afișează bara de meniu sau bara de instrumente.

Ca parametri, numele barei de comandă barName, elementul index al panoului index și valoarea proprietății de stat sunt transmise funcției.

Cubul variabil va conține o legătură către panoul dorit (accesul la obiectul familiei CommandBars în acest caz este realizat de numele obiectului).

Familia de controale conține toate elementele panoului. Pentru a accesa un anumit element, se utilizează un index, corespunzător numărului elementului din familie. Spre deosebire de alte familii ale modelului obiect VBA din familia Controls, elementele sunt numerotate nu de la zero, ci de la unul. Aceasta înseamnă că pentru a face referire la primul element al familiei, trebuie să utilizați expresia CommandBar .Controls (1) în loc de CommandBar așteptat. Controale (0).

O funcție similară poate fi folosită pentru a ascunde sau a afișa meniuri sau butoane individuale pe bara de comandă, numai proprietatea Visible a aceleiași familii de controale ar trebui să se schimbe:







Meniurile și barele de instrumente create de dvs. trebuie să apară pe ecran la momentul potrivit. În cele mai multe cazuri, se prevede că creează o bară de meniu comună și o bară de instrumente comune de pe ecran atunci când începe de aplicare și sunt înlocuite la momentul meniul din dreapta și barele de instrumente asociate cu formulare și rapoarte (desigur, dacă ați dezactivat programul în meniul și barele de instrumente Access prin specificarea parametrilor de pornire corespunzători).

Cu toate acestea, este posibil să controlați programatic afișarea liniilor de meniu și a barelor de instrumente.

Sau setați proprietatea MenuBar a obiectului Application, aveți posibilitatea să modificați fie bara de meniu de parametri (Meniu Bar) din Setări de pornire (pornire) pentru a seta propriul bara de meniu ca bara de meniu principal în cerere (a se vedea. Sec. „Object Model Microsoft Access“ Capitolul . 13):

Application.MenuBar = "Meniul principal"

Pentru a afișa sau a ascunde barele de instrumente în timp ce programul se execută, puteți utiliza macro-ul barei de instrumente (ShowToolbar). Această macrocomandă are două argumente: numele barei de instrumente și valoarea afișării (Figura 14.34).

Fig. 14.34. Bara de instrumente Macro

Câmpul Afișare din panoul cu argumente macro vă permite să definiți trei valori:

  • Da (Da) - bara de instrumente va fi afișată întotdeauna pe ecran;
  • În modul normal (unde este adecvat) - bara de instrumente va fi afișată numai dacă este necesar, acest mod este utilizat pentru barele de instrumente încorporate;
  • Nu (nu) - bara de instrumente va fi ascunsă.

În loc de o macrocomandă, puteți folosi metoda showToolbar a obiectului DoCmd. Exemplul prezentat în Fig. 14.34, pot fi exprimate în codul VBA după cum urmează:

DoCmd ShowToolbar "Meniul principal", acToolbarYes,

unde AcToolbarYes este o constantă încorporată.







Trimiteți-le prietenilor: