我正在使用VBA UserForms協助用戶創建不同的Word文檔的項目。其中一個要求是用戶能夠在用戶表單之間來回切換。VBA - 我可以卸載堆棧調用以避免運行時28「超出堆棧空間」錯誤?
這個最新的文檔比以前的文檔有更多的用戶窗體(大約31個),我發現我可以通過填充大多數窗體觸發運行時錯誤28「堆棧空間不足」,然後導航回來到第一個,然後再往前走。當我繼續前進時,我和第一次完全沒有什麼不同,所以我確實認爲由於調用次數的限制,它確實超出了堆棧空間,而不是遞歸或其他問題這裏的微軟文檔https://msdn.microsoft.com/en-us/library/aa264523(v=vs.60).aspx。
爲了記錄,我正在卸載表單時,回來或轉發。例如:
Private Sub cb_back_Click() 'backward navigation
Unload Me
showPreviousForm
End Sub
我的問題是,在VBA中有一種方法可以從堆棧中「卸載」一個調用嗎?
用戶不太可能會做我所做的事情,所以我並不太在意這個項目的這一部分,但我想知道如果項目的其他部分更接近極限。
在此先感謝。
謝謝。 我意識到卸載我並不能幫助調用堆棧。 (我試圖避免像「卸載用戶表單」這樣的答案)。但是你指出了我未來可以採取的方向。我只需要弄清楚如何讓用戶窗體關閉,並且所有的子窗體都是完整的。我已經存儲了足夠的數據來確定狀態,所以它不應該太難。 –
@brett_x閱讀[this](https://stackoverflow.com/documentation/vba/5351/user-forms#t=201708141749324381879)而Documentation.SO仍然存在;-) –