Excel 2016 otseteemenüüde kohandamine VBA-s

Enne Excel 2007 kasutasid VBA programmeerijad CommandBar objekti kohandatud menüüde, kohandatud tööriistaribade ja kohandatud otsetee (paremklõpsu) menüüde loomiseks. Alates Excel 2007-st on CommandBar objekt üsna kummalises positsioonis. Kui kirjutate koodi menüü või tööriistariba kohandamiseks, püüab Excel selle koodi kinni ja ignoreerib paljusid teie käske.

Selle asemel, et kuvada hästi läbimõeldud liidese täiustusi, lisab Excel 2007 (nagu ka hilisemad versioonid) lihtsalt teie kohandatud menüüd ja tööriistaribad kõikehõlmavale lindi vahekaardile nimega Lisandmoodulid.

Menüü- ja tööriistariba kohandused jõuavad gruppi Lisandmoodulid → Menüükäsud või Lisandmoodulid → Kohandatud tööriistaribad. Kuid kiirmenüüde kohandamine (mis kasutab ka CommandBar objekti) töötab endiselt nagu alati – noh, omamoodi.

Alumine joon? CommandBar objekt pole enam eriti kasulik, kuid see jääb ainsaks viisiks otseteemenüüde kohandamiseks.

Lahtri kiirmenüüsse uue üksuse lisamine

Altpoolt leiate näidiskoodi, mis lisab lahtril paremklõpsamisel ilmuvasse kiirmenüüsse uue üksuse. Peaksite saama neid näiteid oma vajadustega kohandada.

Saate seda utiliiti Change Case veidi täiustada, tehes selle kättesaadavaks kiirmenüüst Cell.

Protseduur AddToShortcut lisab lahtri kiirmenüüsse uue menüüelemendi. Saate seda kohandada nii, et see osutaks teie enda makrodele, muutes objekti nimega NewControl atribuute Caption ja OnAction.

Sub AddToShortCut()
  Dim Bar nagu CommandBar
  Dim New Control as CommandBar Button
  DeleteFromShortcut
  Määra riba = Application.CommandBars ("Cell")
  Määra NewControl = Bar.Controls.Add _
     (Tüüp:=msoControlButton, ID:=1, _
     ajutine:=Tõsi)
  NewControliga
    .Caption = "&Muuda suurtähti"
    .OnAction = "ChangeCase"
    .Style = msoButtonIconAndCaption
  Lõpeta
Lõpeta alam

Kui muudate kiirmenüüd, jääb see muudatus jõusse kuni Exceli taaskäivitamiseni. Teisisõnu, muudetud kiirmenüüd ei lähtestu, kui sulgete VBA-koodi sisaldava töövihiku. Seega, kui kirjutate kiirmenüü muutmiseks koodi, kirjutate peaaegu alati koodi, et muuta muudatuse mõju vastupidiseks.

Protseduur DeleteFromShortcut eemaldab uue menüüelemendi lahtri kiirmenüüst:

Sub DeleteFromShortcut()
  Vea korral Jätka järgmisena
  Application.CommandBars (“Cell”). Juhtelemendid _
    (“&Muuda suurtähte”). Kustuta
Lõpeta alam

See näitab, kuidas uus menüüelement kuvatakse pärast lahtril paremklõpsamist.

Excel 2016 otseteemenüüde kohandamine VBA-s

Lahtri kiirmenüü, mis näitab kohandatud menüüüksust: Change Case.

Esimene tegelik käsk pärast paari muutuja deklareerimist kutsub esile protseduuri DeleteFromShortcut. See avaldus tagab, et kiirmenüüs Lahter kuvatakse ainult üks menüükäsk Muuda tähte. Proovige seda rida kommenteerida (pange rea algusesse apostroof) ja käivitage protseduur paar korda – kuid ärge laske end sellest endast välja lasta!

Paremklõpsake lahtrit ja näete mitut menüüüksuse Change Case esinemisjuhtu. Vabanege kõigist kirjetest, käivitades DeleteFromShortcuti mitu korda (üks kord iga täiendava menüüüksuse jaoks).

Lõpuks on teil vaja võimalust lisada töövihiku avamisel kiirmenüü üksus ja töövihiku sulgemisel see menüüelement kustutada. Seda on lihtne teha. Lihtsalt lisage ThisWorkbooki koodimoodulisse need kaks sündmuseprotseduuri:

Privaatne alamtöövihik_Open()
Helistage AddToShortCut
Lõpeta alam
Privaatne alamtöövihik_BeforeClose (Tühista kui Boolean)
Helistage valikule DeleteFromShortcut
Lõpeta alam

Protseduur Workbook_Open käivitatakse töövihiku avamisel ja protseduur Workbook_BeforeClose enne töövihiku sulgemist. Just see, mida arst määras.

Mille poolest Excel 2013 ja Excel 2016 erinevad?

Kui olete kasutanud Excel 2007 või varasemas versioonis kiirmenüüdega töötamiseks VBA-d, peate olema teadlikud olulisest muudatusest.

Varem, kui teie kood muutis kiirmenüüd, kehtis see muudatus kõigi töövihikute puhul. Näiteks kui lisasite lahtri paremklõpsumenüüsse uue üksuse, ilmub see uus üksus, kui paremklõpsate mis tahes töövihiku lahtril (lisaks muudes töövihikutes, mille avate hiljem). Teisisõnu, kiirmenüü muudatusi tehti rakenduse tasemel.

Excel 2013 ja Excel 2016 kasutavad ühte dokumendiliidest ja see mõjutab kiirmenüüd. Otsemenüüdes tehtavad muudatused mõjutavad ainult aktiivset töövihiku akent. Kui käivitate kiirmenüüd muutva koodi, siis muude akende kui aktiivse akna kiirmenüüd ei muudeta. See on radikaalne kõrvalekalle sellest, kuidas asjad varem toimisid.

Veel üks pööre: kui kasutaja avab töövihiku (või loob uue töövihiku), kui aktiivses aknas kuvatakse muudetud kiirmenüü, kuvatakse uues töövihikus ka muudetud kiirmenüü. Teisisõnu, uued aknad kuvavad samad kiirmenüüd nagu aken, mis oli aktiivne uute akende avamisel.

Alumine rida: kui avasite varem töövihiku või lisandmooduli, milles on muudetud kiirmenüüd, võisite olla kindel, et muudetud kiirmenüüd on saadaval kõigis töövihikutes. Teil pole enam seda kindlust.


Kustutage oma PowerPointi slaididelt pliiatsi ja esiletõstja joonised

Kustutage oma PowerPointi slaididelt pliiatsi ja esiletõstja joonised

Kui olete esitluse ajal PowerPointi slaididele joonistamiseks kasutanud pliiatsit või markerit, saate joonised järgmise esitluse jaoks salvestada või need kustutada, nii et järgmisel näitamisel alustate puhaste PowerPointi slaididega. Pliiatsi ja markeri jooniste kustutamiseks järgige neid juhiseid: joonte kustutamine […]

Stiili teegi sisu rakenduses SharePoint 2010

Stiili teegi sisu rakenduses SharePoint 2010

Style'i teek sisaldab CSS-faile, XSL-faile ja eelmääratletud mallilehtede, lehepaigutuste ja juhtelementide poolt kasutatavaid pilte rakenduses SharePoint 2010. CSS-failide leidmiseks avaldamissaidi stiiliteegist: valige saidi toimingud → vaade. Kogu saidi sisu. Ilmub saidi sisu. Style raamatukogu asub […]

Vormindage numbreid tuhandetes ja miljonites Exceli aruannetes

Vormindage numbreid tuhandetes ja miljonites Exceli aruannetes

Ärge uputage oma publikut tohutute numbritega. Microsoft Excelis saate parandada oma armatuurlaudade ja aruannete loetavust, vormindades numbrid tuhandetes või miljonites.

Kuidas SharePointi saite jagada ja jälgida

Kuidas SharePointi saite jagada ja jälgida

Siit saate teada, kuidas kasutada SharePointi suhtlusvõrgustiku tööriistu, mis võimaldavad üksikisikutel ja rühmadel suhelda, koostööd teha, jagada ja ühendada.

Kuidas teisendada kuupäevi Excelis Juliani vormingutesse

Kuidas teisendada kuupäevi Excelis Juliani vormingutesse

Julia kuupäevi kasutatakse tootmiskeskkondades sageli ajatemplina ja partiinumbri kiirviitena. Seda tüüpi kuupäevade kodeerimine võimaldab jaemüüjatel, tarbijatel ja teenindusagentidel tuvastada toote valmistamise aja ja seega toote vanuse. Juliuse kuupäevi kasutatakse ka programmeerimises, sõjaväes ja astronoomias. Erinevad […]

Accessi veebirakenduse loomine

Accessi veebirakenduse loomine

Veebirakenduse saate luua rakenduses Access 2016. Mis siis ikkagi on veebirakendus? Noh, veeb tähendab, et see on võrgus ja rakendus on lihtsalt "rakenduse" lühend. Kohandatud veebirakendus on veebipõhine andmebaasirakendus, millele pääseb ligi brauseri abil pilvest. Loote ja hooldate veebirakendust töölaua versioonis […]

SharePoint 2010 kiirkäivitusriba

SharePoint 2010 kiirkäivitusriba

Enamik SharePoint 2010 lehti kuvab lehe vasakus servas kiirkäivitusribal navigeerimislinkide loendi. Kiirkäivitusribal kuvatakse lingid saidi esiletoodud sisule (nt loendid, teegid, saidid ja avaldamislehed). Kiirkäivitusribal on kaks väga olulist linki: link kogu saidi sisu: […]

Mida tähendavad Exceli lahendaja veateated?

Mida tähendavad Exceli lahendaja veateated?

Lihtsate ülesannete puhul leiab Exceli lahendaja tavaliselt kiiresti eesmärgifunktsiooni jaoks optimaalsed Lahendaja muutuja väärtused. Kuid mõnel juhul on Solveril raskusi sihtfunktsiooni optimeerivate Solveri muutuja väärtuste leidmisega. Sellistel juhtudel kuvab Solver tavaliselt teate või veateate, mis kirjeldab või arutab probleemi, mida […]

Kuidas eemaldada Exceli Pivot-liigendtabelist arvutatud väljad ja üksused

Kuidas eemaldada Exceli Pivot-liigendtabelist arvutatud väljad ja üksused

Saate hõlpsasti eemaldada arvutatud välju ja üksusi Exceli liigendtabelist. Arvutatud välja eemaldamiseks klõpsake liigendtabelis lahtrit. Seejärel klõpsake vahekaardi Analüüsi käsku Fields, Items & Sets ja valige kuvatavast alammenüüst Arvutatud väli. Kui Excel kuvab dialoogiboksi Arvutatud välja lisamine, valige […]

Kuidas SharePointis sildistada

Kuidas SharePointis sildistada

Sildid on märksõnad, mille määrate sisule. Lehtede sildistamine teistega jagamiseks on sotsiaalne järjehoidja ning see on veebis väga populaarne ja SharePointis lihtne. Kui olete kunagi kasutanud saiti nagu Delicious, teate juba, kuidas sotsiaalne järjehoidja töötab. Kuna rohkem inimesi määrab samu silte, muutuvad sildid viisiks […]