1. 程式人生 > >VBA中dim,static和public,private的區別

VBA中dim,static和public,private的區別

1、PublicPrivate一般用於定義全域性變數,也可以在類中使用。

1-1、區別在於:[Public]前者定義的是公共變數,如果在一個模組當中使用,那麼整個應用程式都能使用它所定義的變數,如果在類中使用,那麼它就是一個共有屬性。

[Private]而後者定義的是私有變數,如果在一個模組中使用,那麼只有這個模組才能訪問到它所定義的變數,如果在類中使用,那麼它就是一個私有屬性。

2、DimStatic一般在過程(Sub或者Function)內部使用,它們所定義的變數都只能在過程內部被訪問。

2-1、區別在於:[Dim]前者定義的是動態變數,過程一旦結束,該變數所佔有的記憶體就會被系統回收,而變數所儲存的資料就會被破壞。

[Static]後者定義的是靜態變數,這意味著在過程結束後這個變數所佔有的記憶體不會被回收,資料當然也不會被破壞了,這樣當你下次再呼叫該過程的時候,資料就依然存在。

相比之下,Public和Static都有保留資料不被破壞的作用,但是,前者適合於那些所有過程都可能訪問到的變數,而後者則把變數的作用範圍縮在最小(只在該過程內能被訪問)。