2012-12-19 140 views
0

我有一个奇怪的Excel 2007问题,我不太清楚如何解释这一点。所以请耐心等待......Excel 2007-VBA,右键单击按钮

我创建了几个右键单击按钮来调用我写的各种后端VBA函数。他们今天早些时候工作正常,现在出于某种原因,出现了一个不符合我工作表中代码的按钮。当你点击它时,它试图打开另一个工作表并从中执行代码。这两个文件不在同一个目录中,也不命名类似。我删除了该按钮试图执行的文件,现在它只是简单地给了我一个错误400.

所以,我无法弄清楚,并从此删除了后端的每一段代码这个文件,并且按钮仍然出现。任何想法可能导致这种情况?它似乎也许是它的混合文件或在临时目录中的某处保存副本,并试图访问它,而不是在VBA中编写的实际代码。有没有需要清除的缓存或什么?

我知道我对描述这件事并不十分出色,所以我将非常乐意提供您可能需要的任何和所有其他细节。让我知道发生了什么。

编辑#1 - 新信息== 我甚至可以打开一个新的,完全空白的Excel文件,右键单击按钮仍然存在。

编辑#2 - 试过的诊断== 我刚刚尝试运行Excel诊断程序,发现没有问题。奇怪的是,它就像是这个宏变得全球化或者存储在某种类型的缓存或者其他东西中。

+0

你看过2007年的基础模板吗?这几乎听起来像是你受到攻击或病毒袭击。 –

+0

我不认为这是问题所在。出现的按钮是我为完全不同的Excel文件编写的内容。它正在尝试打开的文件是我创建的文件。就基本模板而言,我从来没有搞错过它,它位于哪里? – jwebster

+0

如果使用Alt + F11打开VBA编辑器,则应该在左侧看到项目列表。如果有项目在全球范围内添加,您应该在当前工作簿中看到它们以及项目。我敢打赌,你的按钮代码被全球增加了。 –

回答

2

我希望我能正确理解你的问题。

如果您知道按钮出现在您的什么右键单击(上下文)菜单应该能够通过Reset命令修复它们。例如,如果它出现在单元格的上下文菜单,你可以在VBE的立即窗口试试这个:

Application.Commandbars("Cell").Reset 

这将整个菜单重置为默认状态。

此外,您可能会对我编写的工具MenuRighter感兴趣,它允许您调整右键单击菜单。它还有一个设置来显示任何上下文菜单的标题和ID。

+0

在我的原始脚本中,我使用了该命令。然而,问题在于,即使在全新的,从未编辑过的.xlsm文件中,即使没有在项目中创建它的代码,右键菜单仍然出现。 – jwebster

+0

我误解了部分回复。通过在即时窗口中运行该命令。它解决了这个问题。再次感谢。这让我在早上的好一段时间里摸不着头脑。 – jwebster