Aracılığıyla paylaş


Eklentileri yüklediğinizde veya kaldırdığınızda Excel 2013 veya sonraki sürümlerinde eklentilerin komut çubukları görüntülenmez veya kaldırılmaz

Belirtiler

Microsoft Excel 2013 veya sonraki sürümlerinde eklentileri kullandığınızda aşağıdaki sorunlarla karşılaşırsınız.

Sorun 1

Excel eklentisini (xlam) veya Excel 97-2003 eklentisini (xla) yüklediğinizde, eklentinin komut çubukları otomatik olarak görüntülenmez. Bunun yerine, tüm çalışma kitaplarını kapatmanız ve ardından komut çubuklarını görüntülemek için Excel'i yeniden başlatmanız gerekir.

Sorun 2

Excel eklentisini (.xlam) veya Excel 97-2003 eklentisini (.xla) kaldırdığınızda veya komut çubukları içeren excel makro özellikli bir çalışma kitabını (.xlsm) kapattığınızda, eklentinin veya makro içerebilen çalışma kitabının komut çubukları tüm açık çalışma kitaplarından kaldırılmaz.

Neden

Bu sorunlar, Excel 2013 veya sonraki sürümlerde Tek Belge Arabirimi (SDI) nedeniyle oluşur. Menü öğeleri oluşturmak için eski bir CommandBar nesnesi kullandığınızda, menü öğeleri şeridin Add-Ins sekmesine eklenir. Excel 2013 veya sonraki sürümlerinde, her çalışma kitabının kendi şeridi vardır. Bu nedenle, çalışma kitabının şeridi oluşturulduktan sonra eklentileri yüklediğinizde veya kaldırdığınızda, şerit güncelleştirilmez.

Aşağıdaki kod örneği CommandBar nesnesini kullanarak menü öğeleri oluşturur:

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

Geçici Çözüm

1. sorunu geçici olarak çözmek için tüm açık çalışma kitaplarını kapatın ve Excel'i yeniden başlatın.

2. sorunu geçici olarak çözmek için aşağıdaki yöntemlerden birini kullanın:

  • Komut çubuklarını eklentideki veya makro etkin çalışma kitabındaki Bir Şerit (XML) öğesiyle değiştirin. Şerit (XML) hakkında daha fazla bilgi için bkz. Şerit XML'i.

  • Eklentinin veya makro etkinleştirilmiş çalışma kitabının Workbook_BeforeClose olayında, tüm açık pencerelerde döngü yapın ve komut çubuklarını kaldırın. Aşağıda bir kod örneği verilmiştir:

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

Not

Bu kodda ToolbarName> yer tutucusu < bir komut çubuğu adını temsil eder.