2014-11-06 113 views
0

我有一個帶有宏的excel文件。它用於我們的程序模板。程序打開這個文件,調用宏並將數據作爲參數傳遞。問題是如何從應用程序調用該宏時調試此宏?例如,在Visual Studio中,我可以使用「附加到進程」,也許在VBA中有這樣的內容?調試VBA宏

+0

您是否想知道如何使用Excel VBA調試器或如何設置您的測試環境來模擬Excel作爲主要測試驅動程序的場景? – xmojmr 2014-11-06 07:56:49

回答

1

我有幾種不同的方式來在Excel中執行調試,並且它們都不是完美的或非常複雜的。

  1. 在整個代碼中使用debug.print打印到立即窗口以查看程序是如何執行的。這在兩種情況下非常有用 - 如果您想一般性地看到程序執行的程度,或執行過程中的位置,或者您可以使用debug.print添加更多詳細信息(如果程序正在獲取專門捕捉某處,並且希望看到程序正在執行時發生了什麼。
  2. 創建一個數組,在程序執行時將日誌信息輸入到數組中,並在程序執行完成時打印數組。這是不完美的,因爲它在程序執行沒有成功完成的情況下並不真正有用,但在您希望獲得有關程序如何作爲驗屍一部分運行的一些統計數據的場景中非常有用。
  3. 添加代碼打破該程序,以便您可以看到該程序在運行時如何執行。使用立即窗口檢查程序中變量的值。

同樣,這些都不是完美的。

+0

斷點實際上是我需要的,但是當從程序調用的宏不起作用時。 – Gleb 2014-11-07 06:19:57

+0

是否可以在輔助電子表格的代碼中添加斷點?這將解決您的問題。或者是您無法訪問由主程序打開的輔助電子表格的問題? – 2014-11-07 14:58:22

+0

程序與臨時文件副本一起工作。所以,如果我在代碼中放置一個斷點,它將被忽略。 – Gleb 2014-11-10 09:03:14