在VBA (信貸墊的馬克杯)在目前已停產SO文檔站點閱讀有關用戶窗體最佳實踐後(發佈新鏈接SO文檔中不允許)我認爲爲我的項目中的用戶窗體設置Attribute VB_PredeclaredId = False
是個好主意。有沒有辦法給VB_PredeclaredId屬性更改爲False VBA用戶窗體
我想這將提供一種實用的方法來強制每次使用用戶表單的新實例的概念,而不是使用默認實例。
對於類模塊,可以將VB_PredeclaredID屬性設置爲True,我期望能夠做相反的事情:導出用戶表單,將該屬性更改爲False,然後導入修改後的版本。
很遺憾,無論何時我導入修改過的用戶表單屬性自動(並令人討厭地)恢復爲真。
VERSION 5.00
Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} UserForm1
Caption = "UserForm1"
ClientHeight = 3165
ClientLeft = 45
ClientTop = 390
ClientWidth = 4710
OleObjectBlob = "UserForm1.frx":0000
StartUpPosition = 1 'CenterOwner
End
Attribute VB_Name = "UserForm1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False ' <<<<< Keeps changing back to True
Attribute VB_Exposed = False
所以,問題:
有沒有設置或者說我可以做強制用戶窗體的VB_PredeclaredId屬性留虛假一些其他的事情嗎?
[編輯:我使用的是微軟的Word,將希望的答案是同樣適用於Excel中]
不,不是我所知道的。你只需要努力。 ;) – Rory
對於它的價值,我在Excel(2016)中試了一下,它的表現相同:在導入時重置它。 – ainwood
@Rory我承認,我期待有一種方式,仍然有點驚訝,該屬性被重置: -/ – SlowLearner