2012-12-19 233 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