我想將一些我的util subs移動到不同的模塊中。問題是,如果我這樣做,我必須將其訪問修飾符設置爲「公開」,然後當他按下「宏」按鈕時,它們對用戶可見。vba excel寫入子對兩個模塊都可訪問,但用戶不可見
我該怎麼辦? 如何使用Utils模塊而不使其子對用戶可見?
感謝, 李
我想將一些我的util subs移動到不同的模塊中。問題是,如果我這樣做,我必須將其訪問修飾符設置爲「公開」,然後當他按下「宏」按鈕時,它們對用戶可見。vba excel寫入子對兩個模塊都可訪問,但用戶不可見
我該怎麼辦? 如何使用Utils模塊而不使其子對用戶可見?
感謝, 李
聲明潛艇作爲Private
,使他們不至用戶可見。然後,如果你想打電話給他們,用Application.Run
例如
模塊1
Option Explicit
Sub Sample1()
Application.Run "Module2.Sample2"
End Sub
單詞數
Option Explicit
Private Sub Sample2()
MsgBox "Hello World"
End Sub
保存utils的模塊作爲一個Excel加載項,而不是工作簿。確保文件名以.xla或.xlam結尾。通過這種方式,只有Excel中的其他vba代碼插件和工作簿可以看到它們,並且它們對用戶是不可見的。
或者,如果只有一個Sub要隱藏或保存爲.xla不是一個選項。你可以給你的子可選參數
Option Explicit
public Sub Sample1(Optional x as string = "")
' Code goes here, just as before.
End Sub
,那麼它不會在運行宏對話框顯示,即使是公衆。
Thanks :)如果我的宏收到一個參數它是: Application.Run「Module2.Sample2」,arg? – user429400
'Application.Run「Module2.Sample2」,arg1,agr2,arg3 ...' –