VBA létre menü
Tikhvin Vitali
VBA létrehozása menük
Belül a Word és Excel alkalmazások, három menütípust:
- Head menü - a megjelenő menüben alapértelmezésben a tetején az alkalmazás ablak, a menü felett.
- Helyi menü - a menü jelenik meg, amikor rákattint az egér jobb gombjával bármely tárgy vagy (különösen Word dokumentum vagy Excel munkafüzet).
- Toolbar - menü, ami lehet be- és kikapcsolni a szabványos elemek agy Menü: Nézet eszköztár.
Fellebbezés a menü segítségével tárgyak CommandBars és ActiveMenuBar. Az alábbiakban példák igénybevételét az Index tulajdonában menü a neve „szöveg”, és a fejét az aktív alkalmazás menü:
Menü, akkor létrehozhat egy módszert hozzá CommandBars objektumot.
Az alábbiakban két példát a teremtés, az agy és a helyi menüből:
Megjegyzés:
A helyi menü és a fejét a felhasználó által létrehozott, ott még nem zárta le az alkalmazást, zárását követően, amelyek a helyi menü, és a fejét eltávolítjuk belőle.
Head felhasználói menü jeleníthető meg a Visible tulajdonságát, és a helyi menüben a ShowPopup módszer. Ha a felhasználó hozott létre egy szülő menüt, és hozta, ez helyettesíti a standard alkalmazás menüben, és ott, amíg az alkalmazás be van zárva, vagy amíg a menü el van távolítva.
Példa: Ez a példa azt mutatja, hogyan lehet a helyi menü megjelenítéséhez, és a kérelem fejét.
Felhasználói menük segítségével eltávolítható a Törlés funkciót. Visszaállítása az ingatlan lehet tisztítani a felhasználói menüből, vagy az alkalmazás menüből a hozzáadott elemeket.
például:
Példa: Ebben a példában, a további tétel hozzáadjuk az első szintű menü. Input opcionális paraméter típusa Add módszert lehet beállítani a megfelelő típusú hozzáadott menüpontot. A leggyakrabban használt értékei az ingatlan: msoControlButton - almenü nem tartalmazza a többi albekezdésben, msoControlPopup - almenü van egy lista a folyamatban lévő al a következő szintre. Ha ez nem kötelező, bemenet az ID paramétert az Add módszerének beállítása 850, majd a hozzáadott menüpont lett kiválasztva. Miután létrehozott egy menüpont meghatározott tulajdonságait, amelyeket a későbbiekben fejezet Tulajdonságok és metódusok menüben.
Az alábbiakban eljárások hozzátéve menüpontok: Ezek az eljárások létre kell hoznia egy modult az általános rutinok a projekt, ahol a terméket lesz hozzá.
A közvetlen hozzáadásával menüpontok használt DobavitPunkty rutinok DobavitPunkty2.
Az alábbiakban utasítások bemeneti paraméterek ezen eljárások:
- Meg kell adnia a nevét a menüből. Ha az eljárás ImyaMenyu hozzá elemeket beállítása egy üres karakterlánc, akkor a pontokat adunk a szülő alkalmazás menüjében.
A nevét a szokásos helyi menü a Word az alábbiak szerint:- „Text” -kontekstnoe menüben a kijelölt szöveget
- „Curve” - a helyi menü a bérelt vonalak
- „Alakzatok” - Jobb kattintás a kiválasztott alakzat
- Meg kell adnia a nevét az eseményeket, mint egy húr, vesszővel elválasztva.
- esemény neve nem tartalmazhat szóközt és szimbólumokat .
- Ha azt szeretnénk, hogy rögzítse, és az esemény nevét menü és aláírása menüpontot vannak elválasztva.
- Ha a bemeneti esemény neve szóközt tartalmaz, és a szimbólum , Ezek a karakterek automatikusan eltávolítja a nevét az esemény, és ha nem adja meg az aláírás menüpont, az aláírás menüpont átkerül az esemény neve tiltott karaktereket.
- Mielőtt az esemény neve menüpontban be számokat, hogy fogja meg a kódot az ikon menüt (lásd. Kódok ikon menüpontok). De a menüelem altételei, nem lehet egy ikont.
- Mielőtt az esemény neve elemet, és mielőtt számjegy azonosítja az ikon menüpontot, megadhat egy „_” alsó vagy mínusz „-” jel, akkor a menüpont lesz elkülönítve a többi elem a választóvonal.
- Ha azt szeretnénk, hogy hangsúlyozzák a levél aláírást megelőzően szimbólumává vált
- Ha azt szeretnénk, hogy jelölje meg a aláírás menüpont menüpont kell végződhet szóközzel (a menüelem altételei, nem lehet elválasztani).
- A bemeneti paraméterek lehetnek PunktyMenyu albekezdés, melyeket külön a fő menüpont.
- DobavitPunkty eljárás adhat több példány az első szinten, és al őket. Eljárás DobavitPunkty2 csak egy darab az első szinten lehet adni (egy menetben az eljárás), de ezen a ponton, akkor add al-mind a második és a harmadik szint.
- Hozzáadása előtt menüpontok létrehozása szükséges a projekt keretében, amely a hozzáadott menüpontok, a modul közös rutinok, amely tartalmazza az eljárásokat illeszkedő nevű esemény nevét a menüpontok (menüpontok, amelyek al-elemek, nem kell kérni, mert DobavitPunkty eljárások nem adja meg a megfelelő OnAction -nak az adatok menüpontok. cm. a tulajdonságok és módszerek a menüpontok).
például:
Ábra. 1 legújabbak elemeket a helyi menü „Text”
Megjegyzés:
Ha hozzá szeretne adni egy almenü, majd a negyedik szint, akkor meg kell, hogy növekszik a harmadik szinten menüpont odnoseansnym helyi menüből (lásd. Odnoseansnoe helyi menü)
Szabályozza a tulajdonságok és módszerek az objektum használják retusálni menüpontok. Delete eljárás menüpont elrejteni, és megjeleníti a menüpont icpolzuyut Visible tulajdonságát a tiltás és engedélyével a Tulajdonságok menüpontot - Enabled. Ahhoz, hogy hozzon létre egy elválasztó vonalat a menüpont tulajdon - BeginGroup. Visible tulajdonságát, Engedélyezett és BeginGroup számít megfelelően Igaz, ha a menü látható, valamint aktív és elkülönítve a többi elem a választóvonal és hamis, ha a menü nem látható és nem aktív, és nincs választóvonal. A menü elemek, amelyek al-ingatlan-be lehet állítani FaceId kód menü ikonra (lásd. Kódok ikon menüpontok).
Ha a menüelem altételei, akkor ezen a ponton lehet állítani Controls.ShortcutText funkció, amely a jogot az aláírás bekezdés, amely megmondja, hogy mi a kombinációja gombok rendelve ez a menüpont (lásd. Kiosztása vezérlőgombok a menüpont).
Keresztül a OnAction tulajdon, akkor adja meg a nevét az eljárás, amelynek nincs bemeneti paramétereket. Ez az eljárás indul, ha rákattint az egér bal gombjával a megfelelő menüpont.
Ha a menü el van rejtve, de BeginGroup menü tulajdonság True értékre van állítva, a határvonal egy rejtett menüpont láttuk el, majd ezt követően pontokat.
Akkor távolítsa el, és elrejti elemeket az első szinten, amikor kiveszi, és elrejti a felső szinten, az összes almenü található a törölt elem törlésre kerülnek, és elrejteni vele.
Controls a bemeneti paramétere a tárgy van írva, vagy aláírás menüpont vagy az index.
Rutinok DobavitPunkty (. Lásd hozzáadása menüpont) adunk két pontot menü (nem jelölt menüpontot, és az azonos típusú, hogy - jelölt). És a menü csak akkor látható, hogy a fenti terméket. Nem jelölt menüpont van egy aláírás nélküli tér végén, és a jelölt nem rés, az utolsó aláírás (szabványos elemeket, hogy a szabály nem vonatkozik a menüben).
például:
A menü, amely nem rendelkezik altételei, akkor meg a kapcsolót.
Rutinok DobavitPunkty (. Lásd hozzáadása menüpont) adunk két pontot menü (nem jelölt menüpontot, és az azonos típusú, hogy - jelölt). És a menü csak akkor látható, hogy a fenti terméket. Nem jelölt menüpont van egy aláírás nélküli tér végén, és jelzett a különbség, az utolsó aláírás. Ezért meg kell változtatni az eseményen belül eljárást a menüpontok Visible tulajdonságát hátoldalon: Ha a kapcsoló be van kapcsolva, a Visible tulajdonságát a megfelelő menüpont True: Megjegyzés:
Az összes fenti igaz csak a kapcsolók, amelyeket hozzáadott DobavitPunkty eljárásokat. Normál menüpontok kapcsolókkal, épült egy másik elvet.
Annak érdekében, hogy megtudja, a kódok menü ikonok, akkor létre kell hozni az alábbi eljárást. És futni FaceIdPicture eljárást. Ha továbbra is a visszavonását az ikonok, akkor nyomja meg az Entert, a teljes - ki kell választani a helyi menüből a „Kilépés”:
Hozhat létre odnoseansnoe menüből. Ez a menü a legkényelmesebb az Excel. mert Ebben az alkalmazásban Excel mérleg egy olyan esemény, hogy a fogások kattintva a jobb egérgombbal rajta. Ez lehetővé teszi, hogy rögzítse a kimenete a standard helyi menü megjelenítéséhez, és helyükbe. Sajnos, Word dokumentum nem rendelkezik egy ilyen esemény, és a Word alkalmazás csak akkor lehetséges, hogy hozzá elemeket a szokásos helyi menü. Ezért a Word SozdatKontekstnoeMenyu funkció csak akkor lehet végrehajtani, mint egy eljárást a folytatása a harmadik al-szintű menü (ahogy a végén a fejezetben).
Annak érdekében, hogy rögzítse a helyi menüben az Excel munkalapon modulban kell a megfelelő lapot, egy esemény által kiváltott BeforeRightClick Cansel eljárás beállított értéket a bemeneti paraméter True. Keresztül az oszlop és sor tulajdonságok Cél objektum lehet zárni kimeneti szabvány helyi menü egy bizonyos régióban a lap.
Példa: Ebben a példában, rögzített normál helyi menü a második oszlopra, és a negyedik sor, beleértve.
Ahhoz, hogy hozzon létre egy helyi menü, a modul a tervezet általános rutinok létrehozásához funkció: ugyanabban a modulban, akkor kell DannyeMenyu eljárás általunk fejezetben leírt Elemek hozzáadása a menühöz. Ugyanebben a fejezetben beszélt a bemeneti paramétere PunktyMenyu DobavitPunkty eljárást. Ez a beállítás felel PunktyMenyu SozdatKontekstnoeMenyu funkciót. Váltás bekezdésben odnoseansnogo helyi menüben nem épül, mint egy kapcsoló DobavitPunkty megállapított eljárások.
Példa: Ez a példa létrehoz egy Excel munkalapon helyi menüben változtatni terméket.
SozdatKontekstnoeMenyu funkció lehet futni, mint egy eljárást, például a folytatása a második al-szintű esemény eljárások közvetlenül a második szint menüpontok (Word ezt a szolgáltatást futtatni a harmadik szintű almenü).
Példa: Ebben a példában megnyomása után az egér jobb gombjával a megfelelő lapot, majd kiválasztja a megfelelő menüpontok, a helyi menü lesz:
P 2. Felhasználó helyi menü elem kiválasztása után PervyyUroven
P 3. Felhasználói Context menü elem kiválasztása után VtoroyUroven1
mert a OnAction tulajdonában menüpont az eljárással együtt járó nincs bemeneti paraméterek és az eljárást anélkül bemeneti paraméterek VBA Word és Excel makró, hozzárendeljük a gombok a megfelelő makro, megfelel a rendeltetési vezérlő gombok menüpontok hozzárendelve.
Vezérlő gombok makrók is hozzárendelhető az alkalmazás felhasználói menü és a program.
- Belépés a menübe: Az eszköztár-beállítások-
- A „Beállítások” fülön válassza ki a „parancsok” és kattintson a „Keyboard ...” látni. P IC 4.
Ábra. 5 funkció gombok a Word
Az Excel, a gombok vannak rendelve az alábbiak szerint:
- Belépés a menübe: Tools-Macro-makrók
- A megjelenő ablakban válasszuk ki a kívánt nevet a makro- és kattintson a „Beállítások ...” P IC 6.
F Ex. 7 célablakba vezérlőgombok makró Excel.
Megjegyzés:
Keresztül az Excel menü hozzá lehet rendelni egy billentyű csak kombinációban a CTRL billentyű vagy CTRL + SHIFT, de a szoftver ezt az alkalmazást, akkor meg más kombinációk gombjai.
Az Excel, akkor programból hozzárendelni a makró funkció módszer révén OnKey objektum alkalmazás. OnKey módszer két bemeneti paraméterek Key - a kinevezését billentyűkombinációk és eljárási - adja meg a makró nevét, ami által kijelölt ellenőrző gomb (mielőtt a makró nevét lehet a neve a letöltött Excel munkafüzetet, ahol a makró lásd az alábbi példát neve a könyv közös makrók .. - "PERSONAL.XLS"). Ha az eljárási paraméter nincs megadva, a megadott billentyűkombináció kivesszük a makrót, amelyre telepítették. Ha az eljárási paraméter egy üres string, a megadott billentyűkombináció le van zárva az Excel. A kulcs kombináció definíciója a karakterlánc, vonal gombok vannak kódolva az alábbiak szerint:
Ebben a példában a gombok vannak rendelve Alt + 1 makró Punkt1, és a kulcsokat a Ctrl + Shift + A makró punktą található egy Excel fájlt a „My Book”. És eltávolította a fenntartott kombinációja gombok CTRL + Shift + B a makro projekt.
A Word, a makro gombok által meghatározott módszer hozzáadása billentyűparancsok tárgy, és eltávolítani a módszer letiltása FindKey objektumot. A módszer hozzáadása billentyűkombinációinak objektum a keycode bemeneti paraméter, amely meghatározza a kombinációja vezérlőgombok, és a parancs bemeneti paraméter, amely meghatározza a makró nevét. BuildKeyCode funkciót arra tervezték, hogy állítsa be a kódot vezérlőgombok kulcskódos bemeneti paramétere. BuildKeyCode funkció lehet egy-négy bemeneti érveket, amelyek által meghatározott megfelelő állandók: Through CustomizationContext tulajdonság lehet állítani a dokumentum, amely hozzáadott vagy törölt, amelyben a kombináció gombok.
például: