Indholdsfortegnelse:
Video: Page Break Preview & Scale To Fit | Microsoft Excel 2016 Tutorial | The Teacher 2024
Før Excel 2007 brugte VBA-programmører CommandBar-objektet til at oprette brugerdefinerede menuer, brugerdefinerede værktøjslinjer og brugerdefinerede genvejstaster (højreklik). Begyndelsen med Excel 2007 er CommandBar objektet i en temmelig mærkelig position. Hvis du skriver kode for at tilpasse en menu eller en værktøjslinje, adskiller Excel den kode og ignorerer mange af dine kommandoer.
I stedet for at vise din gennemtænkte grænsefladeforbedring, dumper Excel 2007 (som senere versioner) simpelthen dine tilpassede menuer og værktøjslinjer ind i en catch-all-faneblad med navnet Add-Ins.
Tilpasning af menu og værktøjslinje ender i menuen Tilføjelser → Menukommandoer eller Tilføjelsen → Brugerdefinerede værktøjslinjer. Men at tilpasse genvejsmenuer (som også bruger CommandBar-objektet) virker stadig som det altid har - godt slags.
nederste linje? CommandBar-objektet er ikke særlig nyttigt længere, men det er den eneste måde at tilpasse genvejsmenuer.
Tilføjelse af et nyt emne i genvejsmenuen Celle
Nedenfor finder du prøvekode, der tilføjer et nyt element til genvejsmenuen, der vises, når du højreklikker på en celle. Du skal kunne tilpasse disse eksempler til dine behov.
Du kan forbedre dette værktøj til Change Case lidt ved at gøre det tilgængeligt fra genvejsmenuen Cell.
AddToShortcut-proceduren tilføjer et nyt menupunkt til genvejsmenuen Cell. Du kan tilpasse det til at pege på dine egne makroer ved at ændre egenskaben Caption og OnAction på objektet NewControl.
Sub AddToShortCut () Dim Bar Som CommandBar Dim NewControl Som CommandBarButton DeleteFromShortcut Set Bar = Application. CommandBars ("Cell") Indstil NewControl = Bar. Controls. Tilføj _ (Type: = msoControlButton, ID: = 1, _ midlertidig: = True) Med NewControl. Caption = "& Change Case". OnAction = "ChangeCase". Style = msoButtonIconAndCaption End With End Sub
Når du ændrer en genvejsmenu, forbliver denne ændring gyldig, indtil du genstarter Excel. Med andre ord nulstilles de ændrede genvejsmenuer ikke, når du lukker arbejdsbogen, der indeholder VBA-koden. Derfor, hvis du skriver kode for at ændre en genvejsmenu, skriver du næsten altid kode for at vende effekten af din ændring.
DeleteFromShortcut-proceduren fjerner det nye menupunkt fra genvejsmenuen Celle:
Sub DeleteFromShortcut () Ved fejl Genoptag næste applikation. CommandBars (”celle”). Controls _ ("& Change Case"). Slet slutdel
Dette viser, hvordan det nye menupunkt vises efter at du højreklikker på en celle.
Cellegenvejsmenuen viser et brugerdefineret menupunkt: Skift tilfældet.Den første egentlige kommando efter erklæringen af et par variabler kalder proceduren DeleteFromShortcut. Denne erklæring sikrer, at kun et menupunkt i Change Case vises på genvejsmenuen Cell. Prøv at kommentere den linje (læg et apostrof ved starten af linjen) og kør proceduren et par gange - men lad dig ikke komme væk!
Højreklik på en celle, og du kan se flere forekomster af menupunktet Skift tilfældet. Slip af alle indtastningerne ved at køre DeleteFromShortcut flere gange (en gang for hvert ekstra menupunkt).
Endelig har du brug for en måde at tilføje genvejsmenupunktet på, når arbejdsbogen åbnes og for at slette menupunktet, når arbejdsbogen er lukket. Det er nemt at gøre dette. Tilføj blot disse to hændelsesprocedurer til ThisWorkbook-kodemodulet:
Privat Sub Workbook_Open () Ring til AddToShortCut Slut Sub Private Workbook_BeforeClose (Annuller som Boolean) Ring DeleteFromShortcut End Sub
Arbejdsbogen_Open procedure udføres, når arbejdsbogen åbnes, og Workbook_BeforeClose-proceduren udføres, før arbejdsbogen er lukket. Lige hvad lægen bestilte.
Hvad er forskelligt i Excel 2013 og Excel 2016?
Hvis du har brugt VBA til at arbejde med genvejsmenuer i Excel 2007 eller tidligere, skal du være opmærksom på en væsentlig ændring.
Tidligere, hvis din kode ændrede en genvejsmenu, var denne ændring gældende for alle arbejdsbøger. Hvis du f.eks. Har tilføjet et nyt emne til cellehøjreklikmenuen, vises det nye emne, når du højreklikede en celle i nogen arbejdsbog (plus andre arbejdsbøger, du åbner senere). Med andre ord blev genvejsmodifikationer foretaget på applikationen -niveauet.
Excel 2013 og Excel 2016 bruger en enkelt dokumentgrænseflade, og det påvirker genvejsmenuer. Ændringer, du foretager til genvejsmenuer, påvirker kun det aktive arbejdsbogvindue. Når du udfører koden, der ændrer genvejsmenuen, ændres genvejsmenuen til andre vinduer end det aktive vindue ikke. Dette er en radikal afgang fra, hvordan tingene fungerede.
Et andet twist: Hvis brugeren åbner en arbejdsbog (eller opretter en ny arbejdsbog), når det aktive vindue viser den ændrede genvejsmenu, viser den nye arbejdsbog også den ændrede genvejsmenu. Med andre ord viser nye vinduer de samme genvejsmenuer som det vindue, der var aktivt, da de nye vinduer blev åbnet.
Nederste linje: Tidligere har du sikret, at de ændrede genvejsmenuer ville være tilgængelige i alle arbejdsbøger, hvis du åbnede en arbejdsbog eller tilføjede de ændrede genvejsmenuer. Du har ikke længere den sikkerhed.