2016-05-05 51 views
1

我想要做的是設置一個標誌,從這個選項去: enter image description hereVBA編程中斷全部錯誤

要此選項:

enter image description here

這樣做的原因是,我在我的代碼中有錯誤處理程序,雖然我正在調試,但我希望能夠看到錯誤是什麼。

設置出錯標誌OFF:

On Error GoTo 0 

將剛剛帶我回到過去的地方的錯誤處理使用,就像兩個或三個程序,一個我在

+2

你將不得不使用很多API jiggery-pokery來獲取該設置並通過代碼進行更改 - 實際上,在你需要的時候進入並自己更改就會變得非常簡單。 –

+2

它有一個註冊表項,但我從來沒有弄清楚如何讓Excel刷新該設置,而不是重新啓動它。 – Rory

+0

謝謝你,我認爲這將是沿着這些線,我一直在做你的建議@宏手只是改變設置,當我在程序中 – spences10

回答

0

工作按前註釋,除了手動更改選項中的設置之外,當您到達想要發生運行時錯誤的代碼部分而不是轉到最後一個活動錯誤處理程序時,並不是一種簡單的方法。

2

你沒有說你正在使用哪個VBA環境。在Access(只有在Access ,據我所知),有以編程方式修改錯誤捕獲設置一個非常有用的方法:

Application.SetOption("Error Trapping", 2) 
Debug.Print Application.GetOption("Error Trapping") 

我用過很多次,我有在外部方法上設置錯誤處理,但我真的很想看看代碼在調用堆棧中的哪個位置發生錯誤。如果您已經預料到,在代碼中的某個地方處理得很好的錯誤,只是在全局範圍內將錯誤陷阱設置爲「解決所有錯誤」是一件痛苦的事情,因爲它始終停止在這些錯誤上!因此,在Access中,您可以根據需要切換到「在所有錯誤中斷」。