Wachtwoord vergeten?

Wachtwoord vergeten
Vul hier uw email adres in. U ontvangt dan een nieuw wachtwoord.

Menu's en menubalken aanpassen in Excel

Gepost op 16-02-2006 - Microsoft Office - 0 reacties


De informatie in dit artikel is van toepassing op:

  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition

Samenvatting

In dit artikel wordt beschreven hoe u menu's en menubalken in Microsoft Excel 2000 en hoger aanpast. U vindt hierin ook stapsgewijze instructies en codevoorbeelden waarmee u menubalken, menu's, opdrachten, vervolgmenu's en snelmenu's in Microsoft Excel via de programmacode kunt beheren en aanpassen.

In deze taak

Inleiding

Vanuit het dialoogvenster Aanpassen kunt u veel algemene taken uitvoeren die samenhangen met het aanpassen van menubalken en menu's in Microsoft Excel 2000, Microsoft Excel 2002 en Microsoft Office Excel 2003. Als u meer geavanceerde taken wilt uitvoeren of menubalken en menu's voor uw eigen programma wilt maken, kunt u Microsoft Visual Basic for Applications-programmacode (VBA) maken.


Voor meer informatie over het gebruik van het dialoogvenster Aanpassen, klikt u op Microsoft Excel Help in het menu Help, typt u menubalk aanpassen in de Office-assistent of de antwoordwizard en klikt u op Zoeken om het gevonden onderwerp weer te geven.

In dit artikel leert u technieken voor het schrijven van VBA-programmacode voor het aanpassen van menubalken, menu's, menuopdrachten, vervolgmenu's en snelmenu's.

Terug naar begin

Meer informatie

Microsoft verstrekt deze code zonder enige expliciete of impliciete garantie, daaronder mede begrepen, maar niet beperkt tot impliciete garanties met betrekking tot de verkoopbaarheid en/of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend bent met de programmeertaal VBScript, alsmede met de hulpprogramma's waarmee procedures worden gemaakt en waarmee fouten in procedures worden opgespoord. U kunt desgewenst contact opnemen met Microsoft Product Support Services voor uitleg over de functie van een bepaalde procedure. Microsoft Product Support Services is echter niet bereid de voorbeelden aan te passen om extra functies toe te voegen of om procedures te maken die aan uw specifieke eisen voldoen.

Voorbeelden in dit artikel

In de voorbeelden in dit artikel wordt VBA-programmacode gebruikt in Excel 2000, Excel 2002 en Excel 2003 om menu's aan te passen. Ga als volgt te werk om de voorbeeldmacro's te gebruiken:
  1. Start Excel.
  2. Wijs Macro aan in het menu Extra en klik op Visual Basic-editor.
  3. Open het menu Invoegen en klik op Module.
  4. Typ een macrovoorbeeld uit dit artikel over of kopieer de macrovoorbeelden met knippen en plakken in een modulewerkblad.
  5. Open het menu Uitvoeren en klik op Sub/UserForm uitvoeren.
  6. Als het dialoogvenster Macro's wordt geopend, klikt u op de naam van de macro en op Uitvoeren.
Terug naar begin

Opdrachtbalken

In Microsoft Office worden werkbalken, menubalken en snelmenu's via programmeercode bestuurd als één type object: opdrachtbalken. Alle volgende items worden in VBA gevormd door CommandBar-objecten:
  • Menubalken, werkbalken en snelmenu's.
  • Menu's op menubalken en werkbalken.
  • Vervolgmenu's in menu's, vervolgmenu's en snelmenu's.
U kunt elke gewenste ingebouwde menubalk of werkbalk wijzigen en u kunt aangepaste werkbalken, menubalken en snelmenu's maken en wijzigen die u met de VBA-programmacode samenstelt. Zo kunt u de functies van uw programma weergeven als afzonderlijke knoppen op werkbalken of als gegroepeerde opdrachtnamen in menu's. U gebruikt dezelfde soort besturingselementen omdat werkbalken en menu's beide opdrachtbalken zijn.

In VBA en Microsoft Visual Basic worden knoppen en menuopdrachten aangeduid met CommandBarButton-objecten. De pop-upbesturingselementen waarmee menu's en vervolgmenu's worden weergegeven, worden aangeduid met CommandBarPopup-objecten. In de volgende voorbeelden ziet u het besturingselement 'Menu' en het besturingselement 'Submenu'. Beide zijn pop-upbesturingselementen die een menu en een vervolgmenu weergeven. Menu én vervolgmenu zijn unieke CommandBar-objecten met elk een eigen set besturingselementen.

In Microsoft Excel worden menubalken en werkbalken aangeduid als hetzelfde programmeerbare objecttype, namelijk het CommandBar-object. Met de besturingselementen in het CommandBar-object verwijst u naar menu's, menuopdrachten, vervolgmenu's en snelmenu's. Bij het argument Type gebruikt u voor elk besturingselement een constante om aan te geven welk type besturingselement moet worden gebruikt voor het menu, het vervolgmenu of de opdracht.

Terug naar begin

Constanten voor besturingselementen

Hierna volgt een lijst met de constanten voor besturingselementen in Excel 2003 waarmee wordt aangegeven welk type grafisch besturingselement moet worden gebruikt voor een bepaald besturingselement op een menubalk:
  • MsoControlActiveX*
  • MsoControlAutoCompleteCombo***
  • MsoControlButton
  • MsoControlButtonDropdown
  • MsoControlButtonPopup
  • MsoControlComboBox
  • MsoControlCustom
  • MsoControlDropdown
  • MsoControlEdit
  • MsoControlExpandingGrid
  • MsoControlGauge
  • MsoControlGenericDropdown
  • MsoControlGraphicCombo
  • MsoControlGraphicDropdown
  • MsoControlGraphicPopup
  • MsoControlGrid
  • MsoControlLabel
  • MsoControlLabelEx***
  • MsoControlOCXDropDown
  • MsoControlPane **
  • MsoControlPopup
  • MsoControlSpinner***
  • MsoControlSplitButtonMRUPopup
  • MsoControlSplitButtonPopup
  • MsoControlSplitDropdown
  • MsoControlSplitExpandingGrid
  • MsoControlWorkPane**
*=Nieuw in Microsoft Excel 2000
**=Nieuw in Microsoft Excel 2002
***=Nieuw in Microsoft Office Excel 2003

Terug naar begin

Menubalken

Een menubalk is een bepaald type opdrachtbalk. Een menubalk is het type object waaraan u menu's, menuopdrachten en vervolgmenu's toevoegt.

Ga als volgt te werk om meer informatie te vinden over het beheren van menubalken en menuopdrachten in Excel:
  1. Start de Microsoft Visual Basic-editor.
  2. Open het menu Help en klik op Microsoft Visual Basic Help.
  3. Typ in het vak Office-assistent of in het vak Antwoordwizard de term Menubalken en klik op Zoeken.
  4. Klik in Excel 2003 en Excel 2002 op Menubalken en menuopdrachten toevoegen en beheren. Klik in Excel 2000 op Menu's en werkbalken.
Tijdens runtime kunt u wijzigingen aanbrengen aan de menubalk en de besturingselementen ervan. De wijzigingen die u op de menubalk aanbrengt, kunnen het uiterlijk of de positie van de menubalk wijzigen. Welke wijzigingen u aan de besturingselementen kunt aanbrengen, hangt af van het type besturingselement. In de volgende tabel vindt u een overzicht van de meest gebruikte eigenschappen en de gebruikelijke methoden voor het wijzigen van de status, de actie of de inhoud van een besturingselement:
Eigenschap of methodeDoel
AddVoegt een menubalk toe met de methode Add van de objectcollectie CommandBars en door het opgeven van de waarde TRUE bij het argument MenuBar.
IngeschakeldAls de eigenschap Enabled is ingesteld op de waarde TRUE, kan de gebruiker de opgegeven menubalk zichtbaar maken via Visual Basic-programmacode. Als de eigenschap Enabled is ingesteld op de waarde FALSE, kan de gebruiker de menubalk niet zichtbaar maken. De menubalk wordt dan echter wel in de lijst met beschikbare opdrachtbalken weergegeven.
ProtectionHiermee kunt u de menubalk beveiligen tegen bepaalde acties van gebruikers.
PositionHiermee kunt u de positie van de nieuwe menubalk ten opzichte van het programmavenster opgeven. De positie van de menubalk ten opzichte van het programmavenster kan een van de volgende eigenschappen in de vorm van MsoBarPosition-constanten zijn: msoBarLeft, msoBarTop, msoBarRight, msoBarBottom, msoBarFloating, msoBarPopup (voor het maken van snelmenu's) of msoBarMenuBar (alleen voor Apple Macintosh).
VisibleHiermee bepaalt u of het besturingselement zichtbaar of verborgen is.

Terug naar begin

Een id voor een besturingselement op de opdrachtbalk retourneren

In de volgende voorbeeldcode wordt een id geretourneerd voor de actieve menubalk:

Sub Id_Control ()Dim myId as Object set myId = CommandBars("Worksheet Menu Bar").Controls("Extra") MsgBox myId.Caption & Chr(13) & MyId.IdEnd Sub

Terug naar begin

De naam van de actieve menubalk bepalen

In de volgende voorbeeldcode wordt de naam voor de actieve menubalk geretourneerd:

Sub MenuBars_GetName() MsgBox CommandBars.ActiveMenuBar.NameEnd Sub

Terug naar begin

De actieve status opslaan (voor ingebouwde of aangepaste menubalken)

U kunt de variabele OriginalMenuBar declareren als openbare variabele, zodat een subroutine deze in een andere subroutine kan gebruiken, zoals Auto_Close. Als u de variabele op deze manier declareert en gebruikt, wordt de vorige menubalk van de gebruiker in de oorspronkelijke staat teruggebracht. Met de volgende voorbeeldmacro wordt de menubalk opnieuw ingesteld:

Public OriginalMenuBar as Object
Sub MenuBars_Capture() Set OriginalMenuBar = CommandBars.ActiveMenuBarEnd Sub


Terug naar begin

Een aangepaste opdrachtbalk maken

Met de volgende voorbeeldcode wordt een aangepaste opdrachtbalk gemaakt met de naam Mijn opdrachtbalk:

Sub MenuBar_Create() Application.CommandBars.Add Name:="Mijn opdrachtbalk" End Sub

U kunt ook een aangepaste opdrachtbalk maken met het argument Temporary:=True. Met het argument Temporary:=True kunnen de opdrachtbalken automatisch worden teruggezet in de oorspronkelijke staat zodra u Excel afsluit. In de volgende code wordt het argument Temporary:=True gebruikt voor het maken van een aangepaste opdrachtbalk:
Sub MenuBar_Create()Application.CommandBars.Add Name:="Mijn opdrachtbalk", Temporary:=TrueEnd Sub
Terug naar begin

Een aangepaste opdrachtbalk weergeven

In het volgende voorbeeld wordt de aangepaste menubalk Mijn aangepaste balk gemaakt en weergegeven, waarna de ingebouwde menubalk hierdoor wordt vervangen:

Sub MenuBar_Show()Dim myNewBar As Object Set myNewBar = CommandBars.Add(Name:="Aangepast1", Position:=msoBarFloating) ' U moet de aangepaste menubalk eerst inschakelen om deze zichtbaar te maken. ' Als u een menubalk inschakelt, wordt deze toegevoegd aan de lijst met beschikbare menubalken in ' het dialoogvenster Aanpassen.' Als u de eigenschap van de menubalk instelt op True, wordt de ingebouwde menubalk vervangen. myNewBar.Enabled = True myNewBar.Visible = TrueEnd Sub

Terug naar begin

Een aangepaste opdrachtbalk verwijderen

Met de volgende voorbeeldcode wordt de aangepaste menubalk met de naam Aangepast1 verwijderd:

Sub MenuBar_Delete() CommandBars("Aangepast1").DeleteEnd Sub

Terug naar begin

Een opdrachtbalk verbergen

Met de volgende voorbeeldcode wordt de ingebouwde menubalk Grafiek uit de lijst met beschikbare menubalken verwijderd:
Sub MenuBar_Display() CommandBars("Chart").Enabled = FalseEnd Sub

Terug naar begin

Een opdrachtbalk weergeven

Met de volgende voorbeeldcode wordt de ingebouwde menubalk Grafiek aan de lijst met beschikbare menubalken toegevoegd:

Sub MenuBar_Display() CommandBars("Chart").Enabled = TrueEnd Sub

Terug naar begin

Een ingebouwde opdrachtbalk herstellen

Als u een menubalk herstelt, worden de standaardbesturingselementen (voor menu's én menuopdrachten) teruggezet op de oorspronkelijke instellingen. Met de volgende voorbeeldcode wordt de ingebouwde menubalk Grafiek hersteld:

Sub MenuBar_Restore() CommandBars("Chart").ResetEnd Sub
Opmerking U kunt alleen ingebouwde menubalken op de oorspronkelijke instellingen terugzetten. Met aangepaste menubalken is dit niet mogelijk.

Terug naar begin

Menu's

Als u een menubalk herstelt, worden de standaardbesturingselementen (voor menu's én menuopdrachten) teruggezet op de oorspronkelijke instellingen. Met de volgende voorbeeldcode wordt de ingebouwde menubalk Grafiek hersteld:

Sub MenuBar_Restore() CommandBars("Chart").ResetEnd Sub

Opmerking U kunt alleen ingebouwde menubalken op de oorspronkelijke instellingen terugzetten. Met aangepaste menubalken is dit niet mogelijk.

Terug naar begin

Een aangepast menubesturingselement aan een opdrachtbalk toevoegen

Met de volgende voorbeeldcode wordt de naam van een menu toegevoegd dat u via programmeercode toevoegt aan de Werkbladmenubalk. In deze code wordt als voorbeeld de menunaam Nieuw menu toegevoegd aan de Werkbladmenubalk.

Opmerking U kunt dit menu uiteraard elke gewenste naam geven.

Sub Menu_Create()Dim myMnu As Object Set myMnu = CommandBars("Worksheet menu bar").Controls. _ Add(Type:=msoControlPopup, before:=3) With myMnu ' Het teken "&" duidt op de toewijzing van een toegangstoets (in dit geval Alt+M). .Caption = "Nieuw &menu" End WithEnd Sub

Terug naar begin

Een menubesturingselement op een opdrachtbalk uitschakelen

Een uitgeschakeld menubesturingselement wordt grijs weergegeven en is niet beschikbaar op de opdrachtbalk. In het volgende voorbeeld wordt het menu Nieuw menu uitgeschakeld:

Sub Menu_Disable() CommandBars("Worksheet menu bar").Controls("Nieuw &menu").Enabled = FalseEnd Sub

Terug naar begin

Een menubesturingselement op een opdrachtbalk inschakelen

Met de volgende voorbeeldcode wordt het menu Nieuw menu ingeschakeld dat u hebt uitgeschakeld in het gedeelte 'Een menubesturingselement op een opdrachtbalk uitschakelen':

Sub Menu_Disable() CommandBars("Worksheet menu bar").Controls("Nieuw &menu").Enabled = TrueEnd Sub

Terug naar begin

Een menubesturingselement van een opdrachtbalk verwijderen

Met de volgende voorbeeldcode wordt het menu Nieuw menu dat u hebt gemaakt in de sectie 'Een aangepast menubesturingselement aan een opdrachtbalk toevoegen' verwijderd uit de Werkbladmenubalk :

Sub Menu_Delete() CommandBars("Werkbladmenubalk").Controls("Nieuw &menu").DeleteEnd Sub

Terug naar begin

Een menubesturingselement op een opdrachtbalk herstellen

Met de volgende voorbeeldcode wordt de ingebouwde menubalk Grafiek op de Werkbladmenubalk hersteld:

Sub Menu_Restore()Dim myMnu As Object Set myMnu = CommandBars("Chart") myMnu.ResetEnd Sub

Terug naar begin

Opdrachten

Welke wijzigingen u in een opdracht kunt aanbrengen, hangt af van het type besturingselement. Over het algemeen geldt dat knoppen ingeschakeld of verborgen zijn. Invoervakken, vervolgkeuzelijsten en keuzelijsten met invoervak zijn in die zin veelzijdiger dat u onderwerpen aan de lijst kunt toevoegen of eruit kunt verwijderen. Bovendien kunt u bepalen welke actie moet worden uitgevoerd door te kijken naar de waarde van de onderwerpen die u in de lijst hebt geselecteerd. U kunt de actie van elk gewenst besturingselement wijzigen in die van een ingebouwde of aangepaste functie.

In de volgende tabel vindt u een overzicht van de meest gebruikte eigenschappen en de gebruikelijke methoden voor het wijzigen van de status, de actie of de inhoud van een besturingselement:
Eigenschap of methodeDoel
AddHiermee voegt u een opdracht toe aan een opdrachtbalk.
AddItemHiermee voegt u een item toe aan de vervolgkeuzelijst in een keuzelijst of keuzelijst met invoervak.
StyleHiermee bepaalt u of op het knopvlak een pictogram of een bijschrift wordt weergegeven.
OnActionHiermee bepaalt u welke procedure moet worden uitgevoerd wanneer de gebruiker de waarde van het besturingselement wijzigt.
VisibleHiermee bepaalt u of het besturingselement zichtbaar of verborgen is.

Ga als volgt te werk om meer informatie over menu's in Excel 2003 en Excel 2002 te vinden:
  1. Start de Visual Basic Script-editor.
  2. Open het menu Help en klik op Microsoft Visual Basic Help.
  3. Typ menu's in het vak Help voor Zoeken en druk op ENTER.
  4. Klik op Menubalken en menuopdrachten toevoegen en beheren (Office).

Terug naar begin

Een scheidingsbalk aan een menubesturingselement toevoegen

In de volgende voorbeeldcode wordt een scheidingsbalk vöör de opdracht Werkblad in het menu Invoegen toegevoegd:

Sub menuItem_AddSeparator() CommandBars("Worksheet menu bar").Controls("Invoegen") _ .Controls("Werkblad").BeginGroup = TrueEnd Sub
Opmerking Als u een scheidingsbalk wilt verwijderen, stelt u de eigenschap BeginGroup in op False.

Terug naar begin

Een aangepast opdrachtbesturingselement in een menu maken

In de volgende voorbeeldcode wordt een nieuwe opdracht gemaakt met de naam Aangepast1 in het menu Extra op de Werkbladmenubalk, waarna de macro Code_Aangepast1 wordt uitgevoerd als u op Aangepast1 klikt:

Sub menuItem_Create() With CommandBars("Worksheet menu bar").Controls("Extra") .Controls.Add(Type:=msoControlButton, Before:=1).Caption = "Aangepast1" .Controls("Aangepast1").OnAction = "Code_Aangepast1" End WithEnd Sub

Terug naar begin

Een selectiemarkering naast een opdrachtbesturingselement plaatsen

In de volgende voorbeeldcode wordt een selectiemarkering naast de opdracht Aangepast1 geplaatst als deze niet is geselecteerd, waarna de selectiemarkering wordt verwijderd als de opdracht Aangepast1 wordt geselecteerd:

Sub menuItem_checkMark()Dim myPopup as Object
Set myPopup = CommandBars("Worksheet menu bar").Controls("Extra") If myPopup.Controls("Aangepast1").State = msoButtonDown Then ' Verwijder selectiemarkering naast menuopdracht. myPopup.Controls("Aangepast1").State = msoButtonUp MsgBox "Aangepast1 is nu uitgeschakeld" Else ' Plaats selectiemarkering naast menuopdracht. myPopup.Controls("Aangepast1").State = msoButtonDown MsgBox "Aangepast1 is nu ingeschakeld" End IfEnd Sub


Terug naar begin

Een opdrachtbesturingselement op een opdrachtbalk uitschakelen

In de volgende voorbeeldcode wordt de opdracht Aangepast1 uitgeschakeld die u in het menu Extra hebt gemaakt in het gedeelte 'Een aangepast opdrachtbesturingselement in een menu maken':

Sub MenuItem_Disable()Dim myCmd as Object Set myCmd = CommandBars("Worksheet menu bar").Controls("Extra") myCmd.Controls("Aangepast1").Enabled = FalseEnd Sub

Terug naar begin

Een opdrachtbesturingselement op een opdrachtbalk inschakelen

Met de volgende voorbeeldcode wordt de opdracht Aangepast1 ingeschakeld die u hebt uitgeschakeld in het gedeelte 'Een opdrachtbesturingselement op een opdrachtbalk uitschakelen':

Sub MenuItem_Enable()Dim myCmd as Object Set myCmd = CommandBars("Worksheet menu bar").Controls("Extra") myCmd.Controls("Aangepast1").Enabled = TrueEnd Sub

Terug naar begin

Een opdrachtbesturingselement van een menu verwijderen

Met de volgende voorbeeldcode wordt de opdracht Opslaan verwijderd uit het menu Bestand:

Sub menuItem_Delete()Dim myCmd As Object Set myCmd = CommandBars("Worksheet menu bar").Controls("Bestand") myCmd.Controls("Opslaan").DeleteEnd Sub

Terug naar begin

Een ingebouwd opdrachtbesturingselement in een menu herstellen

Als u een opdrachtbesturingselement in een menu wilt herstellen, moet u weten wat het identificatienummer (id) van het besturingselement is. Zie het gedeelte 'Een id voor een besturingselement op de opdrachtbalk retourneren' voor informatie over het vaststellen van het id-nummer. In het volgende voorbeeld wordt de opdracht Opslaan die u in het gedeelte 'Een opdrachtbesturingselement van een menu verwijderen' hebt verwijderd, hersteld:

Sub menuItem_Restore()Dim myCmd As Object Set myCmd = CommandBars("Worksheet menu bar").Controls("Bestand") ' Id 3 verwijst naar het besturingselement voor de menuopdracht Opslaan. myCmd.Controls.Add Type:=msoControlButton, ID:=3, Before:=5End Sub

Terug naar begin

Vervolgmenu's

Vervolgmenu's worden naast het bovenliggende menu weergegeven als u op een opdracht klikt. Een opdracht die een besturingselement voor een vervolgmenu is, is voorzien van een zwart pijltje aan de rechterkant van de opdrachtnaam.

Terug naar begin

Een vervolgmenu toevoegen

In de volgende voorbeeldcode wordt een nieuw vervolgmenu met de naam Nieuw vervolg toegevoegd aan het menu Extra op de Werkbladmenubalk:

Sub SubMenu_Create()Dim newSub as Object Set newSub = CommandBars("Worksheet menu bar").Controls("Extra") With newSub .Controls.Add(Type:=msoControlPopup, Before:=1).Caption="Nieuw vervolg" End WithEnd Sub

Terug naar begin

Een opdracht aan een vervolgmenu toevoegen

In de volgende voorbeeldcode wordt een nieuwe opdracht met de naam Vervolgitem1 toegevoegd aan het vervolgmenu Nieuw vervolg, waarna de macro Code_Vervolgitem1 wordt uitgevoerd als u op Vervolgitem1 klikt:

Sub SubMenu_AddItem()Dim newSubItem as Object Set newSubItem = CommandBars("Worksheet menu bar") _ .Controls("Extra").Controls("Nieuw vervolg") With newSubItem .Controls.Add(Type:=msoControlButton, Before:=1).Caption = "Vervolgitem1" .Controls("Vervolgitem1").OnAction = "Code_Vervolgitem1" End WithEnd Sub

Terug naar begin

Een opdrachtbesturingselement in een vervolgmenu uitschakelen

In de volgende voorbeeldcode wordt dezelfde opdracht Vervolgitem uitgeschakeld die u in het gedeelte 'Een opdracht aan een vervolgmenu toevoegen' hebt gemaakt:

Sub SubMenu_DisableItem() CommandBars("Worksheet menu bar").Controls("Extra") _ .Controls("Nieuw vervolg").Controls("Vervolgitem1").Enabled = FalseEnd Sub



In het volgende voorbeeld wordt dezelfde opdracht Vervolgitem ingeschakeld:
Sub SubMenu_DisableItem() CommandBars("Worksheet menu bar").Controls("Extra") _ .Controls("Nieuw vervolg").Controls("Vervolgitem1").Enabled = TrueEnd Sub

Terug naar begin

Een opdracht uit een vervolgmenu verwijderen

In het volgende voorbeeld wordt de opdracht Vervolgitem1 verwijderd die u hebt gemaakt in het vervolgmenu Nieuw vervolg in het gedeelte 'Een opdracht aan een vervolgmenu toevoegen':

Sub SubMenu_DeleteItem() CommandBars("Worksheet menu bar").Controls("Extra") _ .Controls("Nieuw vervolg").Controls("Vervolgitem1").DeleteEnd Sub

Terug naar begin

Een besturingselement voor een vervolgmenu uitschakelen

Met de volgende voorbeeldcode wordt het vervolgmenu Nieuw vervolg uitgeschakeld dat u in het menu Extra hebt gemaakt in het gedeelte 'Een vervolgmenu toevoegen':

Sub SubMenu_DisableSub() CommandBars("Worksheet menu bar").Controls("Extra") _ .Controls("Nieuw vervolg").Enabled = FalseEnd Sub
Opmerking Als u het uitgeschakelde besturingselement wilt inschakelen, stelt u de eigenschap Enabled in op True.

Terug naar begin

Een besturingselement voor een vervolgmenu verwijderen

In de volgende voorbeeldcode wordt het vervolgmenu Nieuw vervolg verwijderd dat u in het menu Extra hebt gemaakt in het gedeelte 'Een vervolgmenu toevoegen':

Sub SubMenu_DeleteSub() CommandBars("Worksheet menu bar").Controls("Extra") _ .Controls("Nieuw vervolg").DeleteEnd Sub

Terug naar begin

Snelmenubalken

Een snelmenu is een zwevende opdrachtbalk die wordt weergegeven als de gebruiker met de rechtermuisknop op een object klikt. Een snelmenubalk kan dezelfde typen besturingselementen bevatten als een opdrachtbalk en de besturingselementen voeren dezelfde acties uit als op een opdrachtbalk. In de meeste programma's kunt u snelmenu's niet vanuit de programma-interface maken of wijzigen. Daarom moet u de snelmenu's tijdens runtime maken en wijzigen.

Ga als volgt te werk om meer informatie over snelmenu's in Excel 2002 en Excel 2003 te vinden:
  1. Start de Visual Basic Script-editor.
  2. Open het menu Help en klik op Microsoft Visual Basic Help.
  3. Typ snelmenu in het vak Help voor Zoeken en druk op ENTER.
  4. Klik op Snelmenu's toevoegen en weergeven.
Terug naar begin

Een nieuwe snelmenubalk maken

Met de volgende voorbeeldcode wordt een nieuwe snelmenubalk gemaakt met de naam mijnSnelmenubalk:


Sub Shortcut_Create()Dim myShtCtBar as Object Set myShtCtBar = CommandBars.Add(Name:="mijnSnelmenubalk", _ Position:=msoBarPopup) ‘ Hiermee wordt de snelmenubalk weergegeven. ‘ 200, 200 verwijst naar de schermpositie in pixels als coördinaten op de x- en y-as. myShtCtBar.ShowPopup 200,200End Sub

Opmerking De snelmenubalk is leeg, omdat er nog geen besturingselementen (menuopdrachten of vervolgmenu's) aan zijn toegevoegd.

Terug naar begin

Snelmenu's

Snelmenubalken worden weergegeven als u met de rechtermuisknop op een bepaald Excel-object klikt. Excel bevat talloze snelmenubalken waarvoor uiteenlopende menu's beschikbaar zijn. U kunt ook zelf snelmenubalken maken en de ingebouwde menubalken aanpassen.

Terug naar begin

Een opdracht op een snelmenubalk maken

Met de volgende voorbeeldcode wordt een nieuwe opdracht met de naam Item1 toegevoegd aan de snelmenubalk mijnSnelmenubalk, waarna de macro Code_Item1 wordt uitgevoerd als u op Item1 klikt:

Sub Shortcut_AddItem()Dim myBar as Object Set myBar = CommandBars("mijnSnelmenubalk") With myBar .Controls.Add (Type:=msoControlButton, before:=1).Caption = "Item1" .Controls("Item1").OnAction = "Code_Item1" End With myBar.ShowPopup 200,200End Sub

Terug naar begin

Een opdrachtbesturingselement op een snelmenubalk uitschakelen

Met de volgende voorbeeldcode wordt de opdracht Item1 uitgeschakeld die u in het gedeelte 'Een opdracht op een snelmenubalk maken' hebt gemaakt:

Sub Shortcut_DisableItem() Set myBar = CommandBars("mijnSnelmenubalk") myBar.Controls("Item1").Enabled = False myBar.ShowPopup 200,200End Sub
Opmerking Als u het uitgeschakelde item wilt inschakelen, stelt u de eigenschap Enabled in op True.

Terug naar begin

Een opdracht van een snelmenubalk verwijderen

Met de volgende voorbeeldcode wordt de menuopdracht Item1 van de snelmenubalk mijnSnelmenubalk verwijderd:

Sub Shortcut_DeleteItem() Set myBar = CommandBars("mijnSnelmenubalk") myBar.Controls("Item1").Delete myBar.ShowPopup 200,200End Sub

Terug naar begin

Een snelmenubalk verwijderen

Als u een snelmenubalk verwijdert, worden alle items op de balk verwijderd. Een aangepaste menubalk die is verwijderd, kan niet meer worden hersteld. Als u deze balk wilt herstellen, moet u deze opnieuw maken, inclusief alle menuopdrachten en vervolgmenu's.

Met de volgende voorbeeldcode wordt de snelmenubalk mijnSnelmenubalk verwijderd die u in het gedeelte 'Een opdracht op een snelmenubalk maken' hebt gemaakt:

Sub Shortcut_DeleteShortCutBar() CommandBars("mijnSnelmenubalk").DeleteEnd Sub

Terug naar begin

Een opdracht op een ingebouwde snelmenubalk herstellen

Met de volgende voorbeeldcode worden de standaardopdrachten op de snelmenubalk Cel van het werkblad hersteld:

Sub Shortcut_RestoreItem() CommandBars("Cell").ResetEnd Sub

Terug naar begin

Vervolgmenu's in snelmenu's

U kunt vervolgmenu's maken op snelmenubalken. Vervolgmenu's worden naast het bovenliggende menu weergegeven als u op een besturingselement voor een opdracht klikt. Een opdracht die een besturingselement in een vervolgmenu is, is voorzien van een zwart pijltje aan de rechterkant van de opdrachtnaam.

Terug naar begin

Een nieuw vervolgmenu op een snelmenubalk maken

In het volgende voorbeeld wordt een nieuw vervolgmenu met de naam Nieuw vervolg toegevoegd op het snelmenu Cel van het werkblad:

Sub ShortcutSub_Create() CommandBars("Cell").Controls.Add(Type:=msoControlPopup, before:=1) _ .Caption = "Nieuw vervolg" ' Hiermee wordt de snelmenubalk weergegeven. ' 200, 200 verwijst naar de schermpositie in pixels als coördinaten op de x- en y-as. CommandBars("Cell").ShowPopup 200, 200End Sub
Opmerking Het vervolgmenu is leeg, omdat er nog geen menuopdrachten aan zijn toegevoegd.

Terug naar begin

Een opdrachtbesturingselement maken in een vervolgmenu op een snelmenubalk

Met de volgende macro wordt de opdracht Vervolgitem1 toegevoegd aan het vervolgmenu Nieuw vervolg dat u hebt gemaakt in het snelmenu Cel. Daarna wordt de macro Code_Vervolgitem1 uitgevoerd als u op Vervolgitem1 klikt:

Sub ShortcutSub_AddItem()Dim newSubItem as Object Set newSubItem = CommandBars("Cell").Controls("Nieuw vervolg") With newSubItem .Controls.Add(Type:=msoControlButton, before:=1).Caption = "vervolgitem1" ' Hiermee wordt de macro Code_vervolgitem1 uitgevoerd wanneer u op vervolgitem1 klikt. .Controls("vervolgitem1").OnAction = "Code_vervolgitem1" End With ' Hiermee wordt de snelmenubalk Cel weergegeven. ' 200, 200 verwijst naar de schermpositie in pixels als coördinaten op de x- en y-as CommandBars("Cell").ShowPopup 200, 200End Sub

Terug naar begin

Een besturingselement voor een vervolgmenuopdracht in een snelmenu uitschakelen

In de volgende voorbeeldcode wordt de opdracht Vervolgitem1 in het vervolgmenu Nieuw vervolg uitgeschakeld:

Sub ShortcutSub_DisableItem() CommandBars("Cell").Controls("Nieuw vervolg") _ .Controls("vervolgitem1").Enabled = False ' Hiermee wordt de snelmenubalk Cel weergegeven. ' 200, 200 verwijst naar de schermpositie in pixels als coördinaten op de x- en y-as. CommandBars("Cell").ShowPopup 200, 200End Sub
Opmerking Als u het uitgeschakelde item wilt inschakelen, stelt u de eigenschap Enabled in op True.

Terug naar begin

Een besturingselement voor een vervolgmenuopdracht in een snelmenu verwijderen

In het volgende voorbeeld wordt de opdracht Vervolgitem1 uit het vervolgmenu Nieuw vervolg verwijderd:

Sub ShortcutSub_DeleteItem() CommandBars("Cell").Controls("Nieuw vervolg").Controls("vervolgitem1").Delete ' Hiermee wordt de snelmenubalk Cel weergegeven. ' 200, 200 verwijst naar de schermpositie in pixels als coördinaten op de x- en y-as. CommandBars("Cell").ShowPopup 200, 200End Sub

Terug naar begin

Een besturingselement voor een vervolgmenu in een snelmenu uitschakelen

Met de volgende voorbeeldcode wordt het vervolgmenu Nieuw vervolg op de snelmenubalk Cel uitgeschakeld:

Sub ShortcutSub_DisableSub() CommandBars("Cell").Controls("Nieuw vervolg").Enabled = False ' Hiermee wordt de snelmenubalk Cel weergegeven. ' 200, 200 verwijst naar de schermpositie in pixels als coördinaten op de x- en y-as. CommandBars("Cell").ShowPopup 200, 200End Sub
Opmerking Als u het uitgeschakelde item wilt inschakelen, stelt u de eigenschap Enabled in op True.

Terug naar begin

Een besturingselement voor een vervolgmenu uit een snelmenu verwijderen

Met de volgende voorbeeldcode wordt het vervolgmenu Nieuw vervolg dat u hebt gemaakt op de snelmenubalk Cel verwijderd:

Sub ShortcutSub_DeleteSub() CommandBars("Cell").Controls("Nieuw vervolg").Delete ' Hiermee wordt de snelmenubalk Cel weergegeven. ' 200, 200 verwijst naar de schermpositie in pixels als coördinaten op de x- en y-as. CommandBars("Cell").ShowPopup 200, 200End Sub

Terug naar begin

Meer informatie

Als u meer informatie wilt over het aanpassen van menu's en menubalken in Excel, staan u de volgende bronnen ter beschikking.

Terug naar begin

Objectenoverzicht

Het Objectenoverzicht bevat een complete lijst met alle eigenschappen en alle methoden voor een specifieke opdracht. Als u deze informatie wilt vinden, schakelt u over naar de Visual Basic-editor (druk op ALT+F11), klikt u op Objectenoverzicht in het menu Beeld (of drukt u op F2). Typ de naam van het besturingselement in het vak Zoeken en druk op ENTER of klik op Zoeken.

Terug naar begin

Microsoft Knowledge Base

De Microsoft Knowledge Base is een primaire informatiebron voor de support-professionals van Microsoft Product Support Services. De Microsoft Knowledge Base is ook beschikbaar voor klanten van Microsoft. Deze uitgebreide database bevat artikelen met gedetailleerde technische informatie over Microsoft-producten, gedocumenteerde correctielijsten, fouten in de documentatie en antwoorden op veelgestelde technische vragen.

U kunt de Microsoft Knowledge Base raadplegen door naar de volgende website van Microsoft te gaan en de instructies op deze pagina te volgen: Terug naar begin

PrintPrint RSS reactiesRSS reacties BookmarkBookmark

Gekoppelde tags

ActiveX, Database, Excel, Excel 2000, Excel 2002, Excel 2003, Macro, Office, Procedure, Tabel, Visual Basic, Werkblad, Works

Reacties
Nog geen reacties geplaatst.

Winkelmandje

Het winkelmandje is leeg

Inloggen
Als u hierboven op de knop 'bestellen' klikt krijgt u een overzicht van de door uw gewenste producten. Indien het overzicht compleet en correct is kunt via de wizard de verdere gegevens invullen en uw bestelling afronden. In het bestelproces kunt u altijd op 'vorige' drukken om terug te gaan in het proces. Bij Perrit staan vertrouwen, privacy en veiligheid op de eerste plaats, wij zullen uw gegevens dan ook met uiterste zorgvuldigheid behandelen en nooit doorgeven aan derden.

Perrit.nl Sherwood Rangers 29 Hengelo

Perrit.nl telefoon: +31 74 750 12 20

Kenniscentrum - Menu's en menubalken aanpassen in Excel
Perrit Kenniscentrum - Menu's en menubalken aanpassen in Excel