Panely příkazů doplňků se nezobrazují nebo neodeberou v Excelu 2013 nebo novějším, když načtete nebo uvolníte doplňky.

Příznaky

Při použití doplňků v Microsoft Excel 2013 nebo novějších dochází k následujícím problémům.

Problém 1

Při načtení doplňku excelu (xlam) nebo doplňku Excelu 97–2003 (xla) se panely příkazů doplňku nezobrazí automaticky. Místo toho musíte zavřít všechny sešity a pak restartovat Excel, aby se zobrazily panely příkazů.

Problém 2

Když zrušíte načtení doplňku Excelu (.xlam) nebo doplňku Excelu 97–2003 (.xla) nebo zavřete excelový sešit s podporou maker (.xlsm), který obsahuje panely příkazů, panely příkazů doplňku nebo sešitu s podporou maker se neodeberou ze všech otevřených sešitů.

Příčina

K těmto problémům dochází kvůli rozhraní SDI (Single Document Interface) v Excelu 2013 nebo novějším. Když k vytvoření položek nabídky použijete starší objekt Panelu příkazů, položky nabídky se přidají na kartu Add-Ins pásu karet. V Excelu 2013 nebo novějším má každý sešit svůj vlastní pás karet. Proto když načtete nebo zrušíte načítání doplňků po vytvoření pásu karet sešitu, pás karet se neaktualizuje.

Následující ukázka kódu vytvoří položky nabídky pomocí objektu CommandBar:

Application.CommandBars("Worksheet Menu Bar").Controls.Add Type:=msoControlPopup

Řešení

Pokud chcete problém 1 obejít, zavřete všechny otevřené sešity a restartujte Excel.

Pokud chcete vyřešit problém 2, použijte jednu z následujících metod:

  • Nahraďte panely příkazů položkou pásu karet (XML) v doplňku nebo sešitu s podporou maker. Další informace o pásu karet (XML) najdete v tématu Xml pásu karet.

  • V Workbook_BeforeClose události doplňku nebo sešitu s podporou maker projděte všechna otevřená okna a odeberte panely příkazů. Následuje ukázka kódu:

    For Each wnd In Application.Windows
            wnd.Activate
            Application.CommandBars("<ToolbarName>").Delete
    Next wnd
    

Poznámka

Zástupný text <ToolbarName> v tomto kódu představuje název panelu příkazů.