Menu's en menubalken aanpassen in Excel

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 830502 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

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.

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.

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.

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.

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

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:
Deze tabel samenvouwenDeze tabel uitklappen
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.

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.Id
End Sub

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.Name
End Sub

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.ActiveMenuBar
End Sub

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:=True
End Sub

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 = True
End Sub

Een aangepaste opdrachtbalk verwijderen

Met de volgende voorbeeldcode wordt de aangepaste menubalk met de naam Aangepast1 verwijderd:
Sub MenuBar_Delete()
   CommandBars("Aangepast1").Delete
End Sub

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 = False
End Sub

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 = True
End Sub

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").Reset
End Sub
Opmerking U kunt alleen ingebouwde menubalken op de oorspronkelijke instellingen terugzetten. Met aangepaste menubalken is dit niet mogelijk.

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").Reset
End Sub
Opmerking U kunt alleen ingebouwde menubalken op de oorspronkelijke instellingen terugzetten. Met aangepaste menubalken is dit niet mogelijk.

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 With
End Sub

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 = False
End Sub

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 = True
End Sub

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").Delete
End Sub

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.Reset
End Sub

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:
Deze tabel samenvouwenDeze tabel uitklappen
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).

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 = True
End Sub
Opmerking Als u een scheidingsbalk wilt verwijderen, stelt u de eigenschap BeginGroup in op False.

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 With
End Sub

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 If
End Sub

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 = False
End Sub

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 = True
End Sub

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").Delete
End Sub

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:=5
End Sub

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.

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 With
End Sub

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 With
End Sub

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 = False
End 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 = True
End Sub

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").Delete
End Sub

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 = False
End Sub
Opmerking Als u het uitgeschakelde besturingselement wilt inschakelen, stelt u de eigenschap Enabled in op True.

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").Delete
End Sub

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.

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,200
End Sub

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

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.

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,200
End Sub

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,200
End Sub
Opmerking Als u het uitgeschakelde item wilt inschakelen, stelt u de eigenschap Enabled in op True.

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,200
End Sub

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").Delete
End Sub

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").Reset
End Sub

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.

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, 200
End Sub
Opmerking Het vervolgmenu is leeg, omdat er nog geen menuopdrachten aan zijn toegevoegd.

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, 200
End Sub

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, 200
End Sub
Opmerking Als u het uitgeschakelde item wilt inschakelen, stelt u de eigenschap Enabled in op True.

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, 200
End Sub

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, 200
End Sub
Opmerking Als u het uitgeschakelde item wilt inschakelen, stelt u de eigenschap Enabled in op True.

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, 200
End Sub

Meer informatie

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

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.

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:
http://support.microsoft.com

Eigenschappen

Artikel ID: 830502 - Laatste beoordeling: donderdag 16 februari 2006 - Wijziging: 4.1
De informatie in dit artikel is van toepassing op:
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
Trefwoorden: 
kbhowtomaster KB830502

Geef ons feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com