Opdrachtbalken van invoegtoepassingen worden niet weergegeven of verwijderd in Excel 2013 of hoger wanneer u de invoegtoepassingen laadt of verwijdert
Symptomen
Wanneer u invoegtoepassingen gebruikt in Microsoft Excel 2013 of hoger, ondervindt u de volgende problemen.
Probleem 1
Wanneer u een Excel-invoegtoepassing (xlam) of een Excel 97-2003-invoegtoepassing (xla) laadt, worden de opdrachtbalken van de invoegtoepassing niet automatisch weergegeven. In plaats daarvan moet u alle werkmappen sluiten en Excel opnieuw starten om de opdrachtbalken weer te geven.
Probleem 2
Wanneer u een Excel-invoegtoepassing (.xlam) of een Excel 97-2003-invoegtoepassing (.xla) verwijdert of een Excel-werkmap met macro's (.xlsm) met opdrachtbalken sluit, worden de opdrachtbalken van de invoegtoepassing of de werkmap met macro's niet uit alle geopende werkmappen verwijderd.
Oorzaak
Deze problemen treden op vanwege de Single Document Interface (SDI) in Excel 2013 of hoger. Wanneer u een verouderd CommandBar-object gebruikt om menu-items te maken, worden de menu-items toegevoegd aan het tabblad Add-Ins van het lint. In Excel 2013 of hoger heeft elke werkmap een eigen lint. Wanneer u invoegtoepassingen laadt of verwijdert nadat het lint van de werkmap is gemaakt, wordt het lint daarom niet bijgewerkt.
In het volgende codevoorbeeld worden menu-items gemaakt met behulp van het commandbar-object:
Application.CommandBars("Worksheet Menu Bar").Controls.Add Type:=msoControlPopup
Tijdelijke oplossing
Als u probleem 1 wilt omzeilen, sluit u alle geopende werkmappen en start u Excel opnieuw.
Gebruik een van de volgende methoden om probleem 2 te omzeilen:
Vervang opdrachtbalken door een lintitem (XML) in de invoegtoepassing of de werkmap met macro's. Zie Lint-XML voor meer informatie over het lint (XML).
In het Workbook_BeforeClose geval van de invoegtoepassing of de werkmap met macro's door alle geopende vensters en de opdrachtbalken verwijderen. Hier volgt een codevoorbeeld:
For Each wnd In Application.Windows wnd.Activate Application.CommandBars("<ToolbarName>").Delete Next wnd
Opmerking
In deze code vertegenwoordigt de tijdelijke aanduiding <ToolbarName> een opdrachtbalknaam.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor