如何从Excel工作簿中删除自定义工具栏?

我正在使用Excel 2007,并且我有一个附带自定义工具栏的Excel工作簿。 每次打开工作簿时,工具栏都会出现在function区的“加载项”下。 我可以右键单击工具栏并select删除自定义工具栏,并将其删除。 但是当我重新打开工作簿时,它重新出现。 我如何将其删除?

工具栏不是由VBA创build的。 它使用http://office.microsoft.com/en-us/excel/HP051986401033.aspx中列出的步骤附加到早期版本的Excel中的工作簿。

虽然正确的解决scheme是从工作簿中分离工具栏,但我不确定Excel 2007中是如何完成的。作为解决方法,可以使用macros在每次打开工作簿时删除工具栏:

Private Sub Workbook_Open() ' Delete the unwanted toolbar that is attached to this workbook. Dim cmdbar As CommandBar For Each cmdbar In Application.CommandBars If cmdbar.Name = "Zap" Then cmdbar.Delete End If Next End Sub End Sub 

我意识到这是一个古老的问题,但我只是find了一个简单的解决scheme,这里没有提到这将是未来的观众使用:

  1. 将文件的扩展名更改为“.zip”
  2. 打开存档
  3. 从存档中删除Attachedtoolbars.bin文件
  4. closures档案
  5. 将文件的扩展名更改回原来的状态

我发现了两种方法为我工作:

  1. 在Office 2003中打开并分离自定义工具栏:工具>自定义>选项卡工具栏>button附加…>在工作簿中删除自定义工具栏

  2. 在Office 2007中打开并导出所有对象,表单,模块和类模块,并将它们导入到一个新的工作簿(.xlsm)中。您将摆脱所有旧的垃圾和所有的macros仍然工作。

如果不是VBA,则可以进入registry来禁用与工具栏关联的Addin。

您也可以遍历Excel.Application.CommandBars中的所有命令栏,然后按名称查找工具栏,然后将其删除。 这是假定工具栏卡在那里从以前的会话(并且添加工具栏的工作簿/加载项/等没有删除它在Workbook_Beforeclose事件)

或者,如果没有在VBA中完成,您可以简单地:右键单击菜单栏区域,单击自定义在工具栏选项卡上单击附加,并确保它没有连接到工作簿。

有时候人们忘记了基本的东西

我有一个电子表格,显示一个自定义工具栏,然后将其留在我的默认工具栏文件相同的问题。

我发现这个解决scheme: http : //support.microsoft.com/kb/291074

在Excel 2007中,要删除的文件是c:\ Winnt \ profiles \ username \ Application Data \ Microsoft \ Excel \ Excel12.xlb

为我完美工作(尽pipe它会删除您可能已经安装的所有自定义工具栏)。

我知道这个问题是旧的,但最终对我的工作是进入我的Excel插件项目的bin / debug文件夹,并删除所有的文件,然后重新加载Excel。

在这里看到答案:

http://msdn.microsoft.com/en-us/library/office/ff862231%28v=office.15%29.aspx

 For Each bar In CommandBars If bar.BuiltIn = False Then bar.Delete End If Next bar 

在所有可能的情况下,VBA代码都会附带一个onLoad事件来创build工具栏。

你必须去删除或禁用VBA代码。

我们在生产2010 Excel电子表格中需要更改的function区中存在相同的问题。 自定义function区需要修改,但是在我们试图编辑/删除的每个位置都locking了。

由于“自定义…”选项被禁用,因此在工具栏上右键单击不起作用。

删除所有VBA代码不起作用,自定义function区仍将replace默认function区。

在Excel选项中,“自定义function区”控件不包含select或被禁用。

在View,Toolbars,Customize下的VBA窗口中,菜单栏工具栏被locking以进行编辑。

我们试图find几个postbuild议的硬盘上的文件,但没有find文件(即使文件夹层次结构不存在)。

选项离开表是编辑registry或通过导入对象创build全新的文件。

问题:为什么他们很难pipe理色带?