Ennen Excel 2007:ää VBA-ohjelmoijat käyttivät CommandBar-objektia mukautettujen valikoiden, mukautettujen työkalurivien ja mukautettujen pikavalikoiden (oikea napsautus) luomiseen. Excel 2007:stä lähtien CommandBar-objekti on melko oudossa paikassa. Jos kirjoitat koodia valikon tai työkalupalkin mukauttamiseksi, Excel sieppaa koodin ja jättää huomiotta monet komennot.
Sen sijaan, että näyttäisit hyvin harkitun käyttöliittymän parannuksen, Excel 2007 (kuten uudemmat versiot) yksinkertaisesti upottaa mukautetut valikot ja työkalurivit kattavaan valintanauha-välilehteen nimeltä Apuohjelmat.
Valikko- ja työkalurivin mukautukset päätyvät ryhmään Apuohjelmat → Valikkokomennot tai Apuohjelmat → Mukautetut työkalurivit. Mutta pikavalikoiden mukauttaminen (joka myös käyttää CommandBar-objektia) toimii edelleen kuten aina - no, tavallaan.
Lopputulos? CommandBar-objekti ei ole enää kovin hyödyllinen, mutta se on edelleen ainoa tapa mukauttaa pikavalikoita.
Uuden kohteen lisääminen Solun pikavalikkoon
Alta löydät esimerkkikoodin, joka lisää uuden kohteen pikavalikkoon, joka tulee näkyviin, kun napsautat solua hiiren kakkospainikkeella. Sinun pitäisi pystyä mukauttamaan näitä esimerkkejä tarpeisiisi.
Voit parantaa Change Case -apuohjelmaa hieman asettamalla sen saataville Cell-pikavalikosta.
AddToShortcut-toiminto lisää uuden valikkokohdan Cell-pikavalikkoon. Voit mukauttaa sen osoittamaan omia makrojasi muuttamalla NewControl-nimisen objektin Caption- ja OnAction-ominaisuuksia.
Sub AddToShortCut()
Himmeä palkki komentopalkkina
Himmeä uusi ohjaus CommandBarButtonina
DeleteFromShortcut
Aseta palkki = Application.CommandBars ("solu")
Aseta NewControl = Bar.Controls.Add _
(Tyyppi:=msoControlButton, ID:=1, _
väliaikainen:=Totta)
NewControlin kanssa
.Caption = "&Vaihda kirjainkokoa"
.OnAction = "ChangeCase"
.Style = msoButtonIconAndCaption
Lopeta kanssa
Lopeta ala
Kun muokkaat pikavalikkoa, muutos pysyy voimassa, kunnes käynnistät Excelin uudelleen. Toisin sanoen muokatut pikavalikot eivät nollaudu, kun suljet VBA-koodin sisältävän työkirjan. Siksi, jos kirjoitat koodia pikavalikon muokkaamiseksi, kirjoitat melkein aina koodin kääntääksesi muutoksen vaikutuksen.
DeleteFromShortcut-toiminto poistaa uuden valikkokohdan solun pikavalikosta:
Sub DeleteFromShortcut()
Virheestä Jatka seuraavaksi
Application.CommandBars("Cell").Controls _
("&Vaihda kirjainkokoa"). Poista
Lopeta ala
Tämä näyttää, kuinka uusi valikon kohta näkyy, kun napsautat solua hiiren kakkospainikkeella.
Solun pikavalikko, jossa näkyy mukautettu valikkokohta: Vaihda kirjain.
Ensimmäinen varsinainen komento muutaman muuttujan ilmoittamisen jälkeen kutsuu DeleteFromShortcut-proseduuria. Tämä lauseke varmistaa, että vain yksi Change Case -valikkokohde näkyy Solu-pikavalikossa. Kokeile kommentoida tätä riviä (kirjoita heittomerkki rivin alkuun) ja suorita toimenpide muutaman kerran – mutta älä hurahdu!
Napsauta solua hiiren kakkospainikkeella, niin näet useita Muuta kirjainkoko -valikkokohdan esiintymiä. Päästä eroon kaikista merkinnöistä suorittamalla DeleteFromShortcut useita kertoja (kerran jokaista ylimääräistä valikkokohtaa kohden).
Lopuksi tarvitset tavan lisätä pikavalikon kohta, kun työkirja avataan, ja poistaa valikkokohdan, kun työkirja suljetaan. Tämän tekeminen on helppoa. Lisää vain nämä kaksi tapahtumamenettelyä ThisWorkbook-koodimoduuliin:
Yksityinen alatyökirja_Open()
Soita AddToShortCut
Lopeta ala
Yksityinen alatyökirja_BeforeClose(Peruuta Boolean)
Soita DeleteFromShortcut
Lopeta ala
Workbook_Open-toiminto suoritetaan, kun työkirja avataan, ja Workbook_BeforeClose-toiminto suoritetaan ennen työkirjan sulkemista. Juuri mitä lääkäri määräsi.
Mitä eroa Excel 2013:ssa ja Excel 2016:ssa on?
Jos olet käyttänyt VBA:ta työskennelläksesi pikavalikoiden kanssa Excel 2007:ssä tai aiemmassa versiossa, sinun on oltava tietoinen merkittävästä muutoksesta.
Aiemmin, jos koodisi muokkasi pikavalikkoa, muutos oli voimassa kaikissa työkirjoissa. Jos esimerkiksi lisäsit uuden kohteen Solun hiiren kakkospainikkeella -valikkoon, uusi kohde tulee näkyviin, kun napsautat hiiren kakkospainikkeella minkä tahansa työkirjan solua (sekä muita myöhemmin avattavia työkirjoja). Toisin sanoen pikavalikkomuutoksia tehtiin sovellustasolla .
Excel 2013 ja Excel 2016 käyttävät yhtä asiakirjan käyttöliittymää, ja tämä vaikuttaa pikavalikoihin. Pikavalikoihin tekemäsi muutokset vaikuttavat vain aktiiviseen työkirjaikkunaan. Kun suoritat pikavalikkoa muokkaavan koodin, muiden ikkunoiden kuin aktiivisen ikkunan pikavalikko ei muutu. Tämä on radikaali poikkeama tavasta, jolla asiat toimivat.
Toinen käänne: Jos käyttäjä avaa työkirjan (tai luo uuden työkirjan), kun aktiivisessa ikkunassa näkyy muokattu pikavalikko, uusi työkirja näyttää myös muokatun pikavalikon. Toisin sanoen uudet ikkunat näyttävät samat pikavalikot kuin ikkuna, joka oli aktiivinen, kun uudet ikkunat avattiin.
Bottom line: Jos avasit aiemmin työkirjan tai lisäosan, jossa on muokattu pikavalikoita, voit olla varma, että muokatut pikavalikot ovat käytettävissä kaikissa työkirjoissa. Sinulla ei ole enää tätä varmuutta.
Luo mukautettuja pikavalikoita Access 2007:ssä
Makrosuunnitteluikkuna eroaa Access 2007:ssä uudempiin versioihin verrattuna, joten laajenna seuraavat osiot, jos käytät Access 2007:ää.
Vaihe 1 Access 2007:lle: Luo makroryhmä, joka sisältää valikkokomennot
Tässä vaiheessa luot makroryhmän, jonka jokainen makro on erillinen komento pikavalikossasi.
Mikä on makroryhmä?
Makroryhmä on yksi makroobjekti, joka sisältää kaksi tai useampia itsenäisiä makroja. Yksittäiset makrot tunnistetaan kirjoittamalla kullekin makrolle nimi Makronimet-sarakkeeseen. Seuraavassa kuvassa Macro3 on makroryhmä. NotFoundMsg ja FoundMsg ovat yksittäisiä makroja ryhmän sisällä, ja jokainen makro koostuu kahdesta makrotoiminnosta.
Huomautus: Makron nimi -sarake on piilotettu oletusarvoisesti. Jos haluat näyttää makron nimi -sarakkeen, napsauta Suunnittelu- välilehden Näytä/piilota -ryhmässä Makron nimet .
-
Napsauta Luo- välilehden Muu - ryhmässä Makro . Jos tämä komento ei ole käytettävissä, napsauta joko Moduuli- tai Luokkamoduuli -painikkeen alla olevaa nuolta ja napsauta sitten Makro .
-
Napsauta Suunnittelu- välilehden Näytä/piilota -ryhmässä Makronimet , jolloin makron nimi -sarake tulee näkyviin .
-
Jokaisen mukautetun pikavalikon komennon kohdalla:
-
Kirjoita Makronimi- sarakkeeseen teksti, jonka haluat näyttää pikavalikossa (esimerkiksi "Tulosta raportti" tai "Tallenna").
Huomautus: Jos haluat luoda pääsyavaimen, jotta voit valita komennon näppäimistöllä, kirjoita et-merkki (&) sen kirjaimen eteen, jonka haluat käyttää pääsyavaimena komennon nimessä (esimerkiksi "&Tallenna"). Tämä kirjain alleviivataan valikossa.
-
Valitse Toiminto -sarakkeesta ensimmäinen toiminto, jonka haluat suorittaa, kun napsautat pikavalikon komentoa.
-
Jos haluat suorittaa muita toimintoja, kun valitset tämän komennon, lisää ne seuraaville riveille. Jätä makron nimi -solu tyhjäksi jokaisen myöhemmän toiminnon kohdalla .
Huomautus: Jos haluat luoda rivin kahden valikkokomennon väliin, kirjoita yhdysviiva (-) Makronimi- sarakkeeseen asianmukaisten valikkokomentojen väliin.
-
Tallenna ja nimeä makro, esimerkiksi mcrShortcutMenuCommands .
Seuraavassa kuvassa on esimerkkimakroryhmä mukautettua valikkoa tai pikavalikkoa varten.
Vaihe 2 Access 2007:lle: Luo makro, joka luo valikon
Tämä vaihe saattaa tuntua tarpeettomalta, mutta luodaksesi pikavalikon vaiheessa 1 luomastasi makroryhmästä sinun on luotava toinen makro, joka sisältää AddMenu- makrotoiminnon . Tätä makroa kutsutaan joskus "valikkomakroksi".
-
Napsauta Luo- välilehden Muu - ryhmässä Makro . Jos tämä komento ei ole käytettävissä, napsauta joko Moduuli- tai Luokkamoduuli -painikkeen alla olevaa nuolta ja napsauta sitten Makro .
-
Valitse makron ensimmäisellä rivillä Toiminto -luettelosta AddMenu .
-
Kirjoita Toiminnon argumentit -kohdassa valikon nimi -ruutuun valikon nimi (esimerkiksi "Raporttikomennot"). Tämä argumentti ei ole pakollinen, mutta sitä suositellaan, jos vaiheessa 3 aiot lisätä valikon valintanauha-välilehteen (kuten lomakkeen tai raportin Apuohjelmat-välilehteen). Jos valikko lisätään pikavalikona vaiheessa 3, Valikon nimi -argumentti ohitetaan.
-
Kirjoita Valikko makron nimi -ruutuun vaiheessa 1 luomasi makron nimi.
-
Tallenna ja nimeä makro, esimerkiksi mcrAddShortcutMenu .
Seuraavassa kuvassa on esimerkkivalikkomakro, joka luo vaiheessa 1 suunnittelemamme valikon.
Vaihe 3 Access 2007:lle: Liitä valikko ohjausobjektiin, lomakkeeseen, raporttiin tai tietokantaan
Käytä yhtä tai useampaa seuraavista toimenpiteistä riippuen siitä, missä haluat valikon näkyvän.
-
Lisää valikko lomakkeen tai raportin Apuohjelmat-välilehteen
Käytä tätä menettelyä, jos haluat valikon näkyvän tietyn lomakkeen tai raportin Apuohjelmat- välilehdellä, kuten seuraavassa kuvassa:
-
Napsauta siirtymisruudussa hiiren kakkospainikkeella lomaketta tai raporttia, johon haluat valikon näkyvän, ja napsauta sitten Suunnittelunäkymää .
-
Napsauta Suunnittelu- välilehden Näytä/piilota- ryhmässä Ominaisuustaulukko .
-
Valitse koko objekti valitsemalla Lomake tai Raportti Ominaisuustaulukko-tehtäväruudun yläosassa olevasta luettelosta.
-
Kirjoita ominaisuustaulukon Muu- välilehden Pikavalikko -ominaisuusruutuun vaiheessa 2 luomasi makron nimi (tässä esimerkissä "mcrAddShortcutMenu").
Kun seuraavan kerran avaat lomakkeen tai raportin, Apuohjelmat - välilehti tulee näkyviin valintanauhaan. Napsauta välilehteä nähdäksesi valikon.
Lisätietoja valintanauhan mukauttamistekniikoista, kuten mukautettujen välilehtien lisäämisestä tai oletusvälilehtien piilottamisesta, on artikkelissa Mukautetun valintanauhan luominen Accessissa .
Nauha on osa Microsoft Office Fluent -käyttöliittymää.
-
Lisää valikko lomakkeen, raportin tai ohjausobjektin pikavalikkona
Käytä tätä toimenpidettä, jos haluat valikon tulevan näkyviin, kun napsautat hiiren kakkospainikkeella tiettyä lomaketta, raporttia tai ohjausobjektia, kuten seuraavassa kuvassa:
-
Napsauta siirtymisruudussa hiiren kakkospainikkeella lomaketta tai raporttia, johon haluat pikavalikon näkyvän, ja napsauta sitten Suunnittelunäkymää .
-
Napsauta Suunnittelu- välilehden Näytä/piilota- ryhmässä Ominaisuustaulukko .
-
Valitse ohjausobjekti tai objekti, johon haluat liittää pikavalikon.
Huomautus: Valitse koko objekti valitsemalla Lomake tai Raportti Property Sheet -tehtäväruudun yläosassa olevasta luettelosta.
-
Kirjoita ominaisuustaulukon Muu- välilehden Pikavalikkopalkki- ominaisuusruutuun vaiheessa 2 luomasi makron nimi (tässä esimerkissä "mcrAddShortcutMenu").
-
Lisää valikko yleiseksi pikavalikkoksi
Tämä toimenpide korvaa kaikki nykyisen tietokannan oletuspikavalikot. Tämä ei vaikuta tiettyihin lomakkeisiin, raportteihin tai ohjaimiin liittämiisi mukautettuihin pikavalikoihin.
-
Napsauta Microsoft Office -painiketta ja valitse sitten Käyttöasetukset .
-
Napsauta Accessin asetukset -valintaikkunassa Nykyinen tietokanta .
-
Kirjoita valintanauhan ja työkalupalkin asetukset -kohdan Pikavalikkopalkki- ruutuun vaiheessa 2 luomasi makron nimi (tässä esimerkissä "mcrAddShortcutMenu").
-
Mukautetut pikavalikot korvaavat oletuspikavalikot objekteille, joihin ne on liitetty. Jos haluat säilyttää tietyt Access-komennot näissä valikoissa käytettäviksi, käytä RunCommand- toimintoa sijoittaaksesi komennot niiden valikkojen makroryhmiin, joihin haluat ne sisällyttää.
-
Ohjaimeen liitetty mukautettu pikavalikko korvaa kaikki muut tietokannassa määritetyt mukautetut pikavalikot. Lomakkeeseen tai raporttiin liitetty mukautettu pikavalikko korvaa mukautetun yleisen pikavalikon.
-
Kun määrität valikkomakron lomakkeelle, raportille tai tietokannalle, Access suorittaa tämän valikkomakron aina, kun lomake, raportti tai tietokanta avataan. Jos teet muutoksia valikkomakroon tai makroryhmään, joka määrittää sen komennot, kun lomake, raportti tai tietokanta on auki, sinun on suljettava lomake, raportti tai tietokanta ja avattava se uudelleen nähdäksesi muutokset.
-
Luo alivalikko noudattamalla vaihetta 1 luodaksesi erillisen makroryhmän, joka sisältää vain alivalikon komennot. Noudata sitten uudelleen vaihetta 1 määrittääksesi ylemmän tason valikon komennot. Lisää alivalikko ylemmän tason makroryhmän kohteeksi käyttämällä AddMenu- makrotoimintoa. Seuraava kuva näyttää makroryhmän valikolle, joka sisältää alivalikon, ja näyttää sitten tuloksena olevan pikavalikon. Makroryhmän kolmas rivi luo Vie kohteeseen ... -alivalikon ( mcrSubMenu ).
Voit luoda useita alivalikkotasoja käyttämällä AddMenu- toimintoja kunkin valikon tason makroryhmissä. Varmista, että annat arvon Valikon nimi -argumentille jokaiselle AddMenu -toiminnolle, muuten alivalikko näkyy tyhjänä rivinä ylemmän tason valikossa.
-
Makroehtoja tuetaan vain ylätason valikon makrossa. Toisin sanoen, voit käyttää ehtoa valikkomakrossa määrittääksesi, näytetäänkö tietty valikko tai pikavalikko, mutta vain ylimmän tason valikoissa. Et voi käyttää ehtoja valikoiden komentojen tai alivalikoiden näyttämiseen tai piilottamiseen. Voit myös piilottaa tai näyttää mukautetun pikavalikon tai yleisen pikavalikon käyttämällä ehtoa.
-
Vaiheessa 2 luomasi valikkomakro voi valinnaisesti olla osa makroryhmää. Jos sinulla on esimerkiksi useita pikavalikkoja eri objekteille tai säätimille, voit luoda yhden makroobjektin, joka sisältää kaikki tarvittavat valikkomakrot. Varmista, että näet Makronimi- sarakkeen ja kirjoita jokaiselle makrolle yksilöllinen nimi. Käytä vaiheessa 3 makroon viittaavaa merkintää: makroryhmännimi.makronimi . Esimerkiksi mcrAddShortcutMenus.AddMenu2 .