Pirms Excel 2007 VBA programmētāji izmantoja CommandBar objektu, lai izveidotu pielāgotas izvēlnes, pielāgotas rīkjoslas un pielāgotas īsinājumtaustiņu (ar peles labo pogu noklikšķiniet) izvēlnes. Sākot ar programmu Excel 2007, CommandBar objekts atrodas diezgan dīvainā pozīcijā. Ja rakstāt kodu, lai pielāgotu izvēlni vai rīkjoslu, programma Excel pārtver šo kodu un ignorē daudzas jūsu komandas.
Tā vietā, lai parādītu jūsu labi pārdomāto interfeisa uzlabojumu, programma Excel 2007 (tāpat kā jaunākās versijas) vienkārši ievieto jūsu pielāgotās izvēlnes un rīkjoslas visaptverošā lentes cilnē ar nosaukumu Add-Ins.
Izvēlņu un rīkjoslu pielāgojumi nonāk grupā Add-Ins → Menu Command vai Add-Ins → Custom Toolbars. Taču īsinājumtaustiņu izvēlņu pielāgošana (kurā arī tiek izmantots CommandBar objekts) joprojām darbojas kā vienmēr — labi, sava veida.
Apakšējā līnija? CommandBar objekts vairs nav īpaši noderīgs, taču tas joprojām ir vienīgais veids, kā pielāgot īsinājumtaustiņu izvēlnes.
Jauna vienuma pievienošana Šūnas īsceļu izvēlnei
Tālāk ir parādīts koda paraugs, kas pievieno jaunu vienumu īsinājumizvēlnei, kas tiek parādīta, ar peles labo pogu noklikšķinot uz šūnas. Jums vajadzētu būt iespējai pielāgot šos piemērus savām vajadzībām.
Varat nedaudz uzlabot šo utilītu Change Case, padarot to pieejamu no šūnas īsinājumtaustiņu izvēlnes.
Procedūra AddToShortcut pievieno jaunu izvēlnes vienumu šūnu īsceļu izvēlnei. Varat to pielāgot, lai norādītu uz saviem makro, mainot objekta NewControl rekvizītus Caption un OnAction.
Sub AddToShortCut()
Dim Bar kā CommandBar
Dim NewControl kā CommandBarButton
DeleteFromShortcut
Iestatīšanas josla = Application.CommandBars (“Šūna”)
Iestatīt NewControl = Bar.Controls.Add _
(Tips:=msoControlButton, ID:=1, _
pagaidu:=Tiesa)
Ar NewControl
.Caption = "&Mainīt reģistru"
.OnAction = "ChangeCase"
.Style = msoButtonIconAndCaption
Beigt ar
Beigu apakš
Mainot īsinājumtaustiņu izvēlni, šī modifikācija paliek spēkā, līdz restartējat programmu Excel. Citiem vārdiem sakot, modificētās īsinājumtaustiņu izvēlnes pašas netiek atiestatītas, aizverot darbgrāmatu, kurā ir VBA kods. Tāpēc, ja rakstāt kodu, lai modificētu īsinājumtaustiņu izvēlni, jūs gandrīz vienmēr ierakstāt kodu, lai mainītu modifikācijas efektu.
Procedūra DeleteFromShortcut noņem jauno izvēlnes vienumu no īsinājumtaustiņu izvēlnes Šūna:
Sub DeleteFromShortcut()
Kļūdas gadījumā atsākt nākamo
Lietojumprogramma.CommandBars ("Šūna").Vadības _
(“&Mainīt reģistru”). Dzēst
Beigu apakš
Tas parāda, kā jaunais izvēlnes vienums tiek parādīts pēc tam, kad ar peles labo pogu noklikšķināt uz šūnas.
Šūnas īsceļu izvēlne, kurā tiek rādīts pielāgots izvēlnes vienums: Mainīt reģistru.
Pirmā faktiskā komanda pēc pāris mainīgo lielumu deklarēšanas izsauc procedūru DeleteFromShortcut. Šis paziņojums nodrošina, ka īsinājumtaustiņu izvēlnē Šūna tiek parādīts tikai viens izvēlnes vienums Change Case. Mēģiniet komentēt šo rindiņu (rindiņas sākumā ielieciet apostrofu) un izpildiet procedūru dažas reizes, taču neaizraujieties!
Ar peles labo pogu noklikšķiniet uz šūnas, un jūs varat redzēt vairākus izvēlnes vienuma Mainīt reģistru gadījumus. Atbrīvojieties no visiem ierakstiem, vairākas reizes palaižot DeleteFromShortcut (vienu reizi katram papildu izvēlnes vienumam).
Visbeidzot, jums ir nepieciešams veids, kā pievienot saīsnes izvēlnes vienumu, kad darbgrāmata tiek atvērta, un dzēst izvēlnes vienumu, kad darbgrāmata ir aizvērta. To izdarīt ir viegli. Vienkārši pievienojiet šīs divas notikumu procedūras ThisWorkbook koda modulim:
Privāta apakšdarbgrāmata_Open()
Zvaniet AddToShortCut
Beigu apakš
Private Sub Workbook_BeforeClose (Atcelt kā Būla)
Zvaniet uz DeleteFromShortcut
Beigu apakš
Procedūra Workbook_Open tiek izpildīta, kad tiek atvērta darbgrāmata, un procedūra Workbook_BeforeClose tiek izpildīta pirms darbgrāmatas aizvēršanas. Tieši tas, ko ārsts lika.
Ar ko Excel 2013 un Excel 2016 atšķiras?
Ja esat izmantojis VBA, lai strādātu ar īsinājumtaustiņu izvēlnēm programmā Excel 2007 vai vecākā versijā, jums ir jāzina par būtiskām izmaiņām.
Agrāk, ja jūsu kods mainīja īsinājumtaustiņu izvēlni, šī modifikācija bija spēkā visās darbgrāmatās. Piemēram, ja pievienojāt jaunu vienumu izvēlnei Šūna ar peles labo pogu, šis jaunais vienums tiks parādīts, kad ar peles labo pogu noklikšķināsit uz šūnas jebkurā darbgrāmatā (kā arī citās darbgrāmatās, kuras atverat vēlāk). Citiem vārdiem sakot, lietojumprogrammas līmenī tika veiktas īsceļu izvēlnes izmaiņas .
Programmā Excel 2013 un Excel 2016 tiek izmantota viena dokumenta saskarne, un tas ietekmē īsinājumtaustiņus. Izmaiņas, ko veicat īsinājumizvēlnēs, ietekmē tikai aktīvo darbgrāmatas logu. Izpildot kodu, kas maina īsinājumtaustiņu izvēlni, īsinājumizvēlne citiem logiem, izņemot aktīvo logu, netiks mainīta. Tā ir radikāla novirze no tā, kā lietas darbojās agrāk.
Vēl viens pavērsiens: ja lietotājs atver darbgrāmatu (vai izveido jaunu darbgrāmatu), kad aktīvajā logā tiek parādīta modificētā īsinājumizvēlne, jaunajā darbgrāmatā tiek parādīta arī modificētā īsinājumtaustiņu izvēlne. Citiem vārdiem sakot, jaunajos logos tiek rādītas tās pašas īsinājumtaustiņu izvēlnes, kas bija aktīvas, kad tika atvērti jaunie logi.
Apakšējā rindiņa: agrāk, ja atvērāt darbgrāmatu vai pievienojumprogrammu, kurā tika mainītas īsinājumtaustiņu izvēlnes, varējāt būt drošs, ka modificētās īsinājumtaustiņu izvēlnes būs pieejamas visās darbgrāmatās. Jums vairs nav šīs pārliecības.
Izveidojiet pielāgotas īsinājumtaustiņu izvēlnes programmā Access 2007
Makro dizaina logs programmā Access 2007 atšķiras no jaunākām versijām, tāpēc, ja izmantojat programmu Access 2007, izvērsiet tālāk norādītās sadaļas.
1. darbība programmai Access 2007: izveidojiet makro grupu, kurā ir izvēlnes komandas
Šajā darbībā jūs izveidojat makro grupu, kuras katra makro būs atsevišķa komanda īsinājumtaustiņu izvēlnē.
Kas ir makrogrupa?
Makro grupa ir viens makro objekts, kurā ir divi vai vairāki neatkarīgi makro. Atsevišķi makro tiek identificēti, ierakstot katra makro nosaukumu kolonnā Makro nosaukumi. Nākamajā attēlā Macro3 ir makro grupa. NotFoundMsg un FoundMsg ir atsevišķi makro grupā, katrs makro sastāv no divām makro darbībām.
Piezīme. Kolonna Makro nosaukums pēc noklusējuma ir paslēpta. Lai parādītu kolonnu Makro nosaukums , cilnes Dizains grupā Rādīt/slēpt noklikšķiniet uz Makro nosaukumi .
-
Cilnes Izveidot grupā Cits noklikšķiniet uz Makro . Ja šī komanda nav pieejama, noklikšķiniet uz bultiņas zem pogas Modulis vai Klases modulis un pēc tam noklikšķiniet uz Makro .
-
Cilnes Dizains grupā Rādīt/slēpt noklikšķiniet uz Makro nosaukumi , lai parādītu kolonnu Makro nosaukums .
-
Katrai komandai, ko vēlaties savā pielāgotajā saīsnes izvēlnē:
-
Kolonnā Makro nosaukums ievadiet tekstu, ko vēlaties parādīt īsinājumizvēlnē (piemēram, "Drukāt atskaiti" vai "Saglabāt").
Piezīme. Lai izveidotu piekļuves atslēgu, lai komandas nosaukumā izmantotu tastatūru, komandas nosaukumā ievadiet & (&) pirms burta, kuru vēlaties izmantot kā piekļuves atslēgu (piemēram, "&Saglabāt"). Šis burts izvēlnē tiks pasvītrots.
-
Kolonnā Darbība atlasiet pirmo darbību, kuru vēlaties veikt, noklikšķinot uz komandas īsinājumizvēlnē.
-
Ja ir vairākas darbības, kuras vēlaties veikt, atlasot šo komandu, pievienojiet tās nākamajās rindās. Katrai nākamajai darbībai atstājiet makro nosaukuma šūnu tukšu.
Piezīme. Lai izveidotu līniju starp divām izvēlnes komandām, ierakstiet defisi (-) kolonnā Makro nosaukums starp attiecīgajām izvēlnes komandām.
-
Saglabājiet makro un nosauciet to, piemēram, mcrShortcutMenuCommands .
Nākamajā ilustrācijā ir parādīts pielāgotas izvēlnes vai īsinājumtaustiņu izvēlnes makro grupas piemērs.
2. darbība programmai Access 2007: izveidojiet makro, kas izveido izvēlni
Šī darbība var šķist lieka, taču, lai izveidotu īsinājumtaustiņu izvēlni no makro grupas, kuru izveidojāt 1. darbībā, ir jāizveido otrs makro, kurā ir ietverta AddMenu makro darbība. Šo makro dažreiz sauc par "izvēlnes makro".
-
Cilnes Izveidot grupā Cits noklikšķiniet uz Makro . Ja šī komanda nav pieejama, noklikšķiniet uz bultiņas zem pogas Modulis vai Klases modulis un pēc tam noklikšķiniet uz Makro .
-
Makro pirmajā rindā darbību sarakstā atlasiet AddMenu .
-
Sadaļas Darbības argumenti lodziņā Izvēlnes nosaukums ierakstiet izvēlnes nosaukumu (piemēram, "Report Commands"). Šis arguments nav obligāts, taču ieteicams, ja 3. darbībā plānojat pievienot izvēlni lentes cilnei (piemēram, veidlapas vai atskaites cilnei Pievienojumprogrammas). Ja 3. darbībā izvēlne ir pievienota kā īsinājumizvēlne, arguments Izvēlnes nosaukums tiek ignorēts.
-
Lodziņā Izvēlnes makro nosaukums ievadiet 1. darbībā izveidotā makro nosaukumu.
-
Saglabājiet makro un nosauciet to, piemēram, mcrAddShortcutMenu .
Nākamajā ilustrācijā ir parādīts izvēlnes makro piemērs, kas izveido 1. darbībā izstrādāto izvēlni.
3. darbība programmai Access 2007: pievienojiet izvēlni vadīklai, veidlapai, atskaitei vai datubāzei
Atkarībā no tā, kur vēlaties parādīt izvēlni, izmantojiet vienu vai vairākas no tālāk norādītajām procedūrām.
-
Pievienojiet izvēlni veidlapas vai atskaites cilnei Pievienojumprogrammas
Izmantojiet šo procedūru, ja vēlaties, lai izvēlne tiktu parādīta cilnē Pievienojumprogrammas noteiktai veidlapai vai atskaitei, kā parādīts šajā attēlā:
-
Navigācijas rūtī ar peles labo pogu noklikšķiniet uz formas vai atskaites, kurā vēlaties parādīt izvēlni, un pēc tam noklikšķiniet uz Noformējuma skats .
-
Cilnes Dizains grupā Rādīt /slēpt noklikšķiniet uz Rekvizītu lapa .
-
Atlasiet visu objektu, atlasot Forma vai Pārskats sarakstā, kas atrodas uzdevumrūts Rekvizītu lapa augšdaļā.
-
Rekvizītu lapas cilnes Cits rekvizīta lodziņā Saīsnes izvēlne ierakstiet 2. darbībā izveidotā makro nosaukumu (šajā piemērā “mcrAddShortcutMenu”).
Nākamajā reizē, kad atverat veidlapu vai pārskatu, lentē tiek parādīta cilne Pievienojumprogrammas . Noklikšķiniet uz cilnes, lai skatītu izvēlni.
Lai iegūtu papildinformāciju par lentes pielāgošanas paņēmieniem, piemēram, pielāgotu ciļņu pievienošanu vai noklusējuma ciļņu slēpšanu, skatiet rakstu Pielāgotas lentes izveide programmā Access .
Lente ir Microsoft Office Fluent lietotāja interfeisa sastāvdaļa.
-
Pievienojiet izvēlni kā veidlapas, atskaites vai vadīklas saīsnes izvēlni
Izmantojiet šo procedūru, ja vēlaties, lai izvēlne tiktu parādīta, ar peles labo pogu noklikšķinot uz noteiktas formas, atskaites vai vadīklas, kā parādīts šajā attēlā:
-
Navigācijas rūtī ar peles labo pogu noklikšķiniet uz veidlapas vai atskaites, kurā vēlaties parādīt īsinājumizvēlni, un pēc tam noklikšķiniet uz Noformējuma skats .
-
Cilnes Dizains grupā Rādīt /slēpt noklikšķiniet uz Rekvizītu lapa .
-
Atlasiet vadīklu vai objektu, kuram vēlaties pievienot īsinājumizvēlni.
Piezīme.: Lai atlasītu visu objektu, uzdevumu rūts Rekvizītu lapa augšdaļā esošajā sarakstā atlasiet Forma vai Pārskats .
-
Rekvizītu lapas cilnes Cits rekvizītu lodziņā Īsinājumizvēlņu josla ierakstiet 2. darbībā izveidotā makro nosaukumu (šajā piemērā “mcrAddShortcutMenu”) .
-
Pievienojiet izvēlni kā globālu īsinājumtaustiņu izvēlni
Šī procedūra aizstāj visas pašreizējās datu bāzes noklusējuma īsceļu izvēlnes. Pielāgotās saīsnes izvēlnes, kuras esat pievienojis noteiktām veidlapām, pārskatiem vai vadīklām, netiek ietekmētas.
-
Noklikšķiniet uz Microsoft Office pogas un pēc tam noklikšķiniet uz Piekļuves opcijas .
-
Dialoglodziņā Access opcijas noklikšķiniet uz Pašreizējā datu bāze .
-
Sadaļas Lentes un rīkjoslas opcijas lodziņā Īsinājumtaustiņu josla ierakstiet 2. darbībā izveidotā makro nosaukumu (šajā piemērā “mcrAddShortcutMenu”).
-
Pielāgotas īsceļu izvēlnes aizstāj noklusējuma īsinājumtaustiņu izvēlnes objektiem, kuriem tās ir pievienotas. Ja vēlaties saglabāt noteiktas Access komandas lietošanai šajās izvēlnēs, izmantojiet darbību RunCommand , lai komandas ievietotu to izvēlņu makro grupās, kurās tās vēlaties iekļaut.
-
Pielāgota īsinājumtaustiņu izvēlne, kas ir pievienota vadīklai, aizstāj visas citas pielāgotās īsceļu izvēlnes, kas ir definētas datu bāzē. Pielāgota īsinājumtaustiņu izvēlne, kas ir pievienota veidlapai vai atskaitei, aizstāj pielāgoto globālo īsinājumtaustiņu izvēlni.
-
Norādot izvēlnes makro formai, atskaitei vai datubāzei, programma Access palaiž šo izvēlnes makro ikreiz, kad tiek atvērta forma, atskaite vai datu bāze. Ja veicat izmaiņas izvēlnes makro vai makro grupā, kas definē tās komandas, kamēr forma, atskaite vai datu bāze ir atvērta, forma, atskaite vai datu bāze ir jāaizver un atkārtoti jāatver, lai skatītu izmaiņas.
-
Lai izveidotu apakšizvēlni, izpildiet 1. darbību, lai izveidotu atsevišķu makro grupu, kurā ir tikai apakšizvēlnes komandas. Pēc tam vēlreiz izpildiet 1. darbību, lai definētu augstāka līmeņa izvēlnes komandas. Pievienojiet apakšizvēlni kā vienumu augstāka līmeņa makro grupā, izmantojot makro darbību AddMenu . Nākamajā ilustrācijā ir parādīta makro grupa izvēlnei, kurā ir apakšizvēlne, un pēc tam parādīta iegūtā īsceļu izvēlne. Trešajā rindiņā makro grupā tiek izveidota apakšizvēlne Eksportēt uz... ( mcrSubMenu ).
Varat izveidot vairākus apakšizvēlņu līmeņus, katra izvēlnes līmeņa makro grupās izmantojot darbības AddMenu . Noteikti norādiet vērtību Izvēlnes nosaukums argumentam katrai AddMenu darbībai, pretējā gadījumā apakšizvēlne tiks parādīta kā tukša rinda augstākā līmeņa izvēlnē.
-
Makro nosacījumi tiek atbalstīti tikai augšējā līmeņa izvēlnes makro. Citiem vārdiem sakot, varat izmantot nosacījumu izvēlnes makro, lai noteiktu, vai tiks parādīta konkrēta izvēlne vai īsinājumtaustiņu izvēlne, bet tikai augšējā līmeņa izvēlnēm. Jūs nevarat izmantot nosacījumus, lai parādītu vai paslēptu komandas vai apakšizvēlnes izvēlnēs. Varat arī izmantot nosacījumu, lai paslēptu vai rādītu pielāgotu īsinājumtaustiņu izvēlni vai globālo īsinājumtaustiņu izvēlni.
-
Pēc izvēles izvēlnes makro, ko izveidojat 2. darbībā, var būt daļa no makro grupas. Piemēram, ja jums ir vairākas īsinājumtaustiņu izvēlnes dažādiem objektiem vai vadīklām, varat izveidot vienu makro objektu, kas satur visus nepieciešamos izvēlņu makro. Noteikti parādiet kolonnu Makro nosaukums un ierakstiet katram makro unikālu nosaukumu. 3. darbībā izmantojiet šādu apzīmējumu, lai atsauktos uz makro: makrogrupasnosaukums.makronosaukums . Piemēram, mcrAddShortcutMenus.AddMenu2 .