所以我有一個 VBA 專案,能夠像剛剛打開一樣重新啟動會很有用。但是,我不想真正重新啟動作業簿。我試圖關閉然后重新打開檔案以觸發“Workbook_Open”事件,但 Excel 不斷在新實體中隨機打開專案。
所以我想知道我是否可以呼叫/偽造 Workbook_Open 事件?
謝謝。
uj5u.com熱心網友回復:
您可以直接呼叫Workbook_Open事件處理程式。它在任何意義上都不會“重新打開”作業簿,但由于事件處理程式只是子例程,您當然可以像任何其他子例程一樣呼叫它們。
但是,這有點“棘手”且不明智,因為后來的程式員可能會添加應該在 Workbook_Open 完成但與您的特定需求無關的事情,因此正如@sous2817 在評論中指出的那樣,這是一種更好的方法是將Workbook_Open代碼移動到它自己的子程式,然后擁有你的代碼并Workbook_Open在那里呼叫它。
uj5u.com熱心網友回復:
即使該事件是私人的,ThisWorkbook.Workbook_Open也會運行該Workbook_Open事件。
uj5u.com熱心網友回復:
我相信這些事件處理程式,如果被宣布為公共的,就是普通的潛艇。您應該可以使用 Worksheet("Name").Workbook_Open 從主模塊呼叫它們。如果由于某種原因失敗(我無法理解),只需將 Workbook_Open 清空到 public sub myCoolBeans() 并從 Workbook_Open 和任何地方呼叫 myCoolBeans() 。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/429225.html
上一篇:當我有值時,如何獲取組合框中專案的ListIndex,以便我可以從具有相同串列的ListBox中洗掉該專案?
下一篇:檔案不斷自行重新打開
