第一,認識private sub和sub過程
Excel VBA里,我們會接觸到private sub私有過程和sub過程。前者private sub是私有過程,sub是公共過程。過程也有私有和公共之分。
想把一個過程聲明為公共過程,使用:Public Sub 過程名;其中的Public就是公共過程的標識牌。
如果想聲明為私有過程,則:Private Sub 過程名;其中的Private就是私有過程的標識牌。
如果省略前面的Public,只寫sub 過程名,就是公共過程。
第二,private sub和sub過程的區別
private sub和sub過程有什么區別呢?VBA的過程主要包括sub過程和function過程兩種。sub過程不可以返回值,function過程可以返回值。比如我們經常錄制的宏就是一個簡單的sub過程,使用錄制宏功能只能生成sub過程的代碼。
private sub 和sub過程都是在模塊中使用。下面我們具體看看private sub私有過程和sub過程的使用和區別。
Private Sub與Sub的區別是什么?完整地說,應該是Private Sub與Public Sub的區別是什么。(Sub 實際上是省略了Public關鍵字)。
Sub過程:在一程序內執行特殊任務的過程,不返回顯式值。Sub 過程以Sub 語句開頭,以 End Sub 語句結尾。
Sub 語句主要是聲明子過程的名稱、參數、以及構成其主體的代碼。其語法如下:
[Private | Public | Friend] [Static] Sub name [(arglist)]
[statements]
[Exit Sub]
[statements]
End Sub
注:[]中間的參數表示可選?梢圆惠斎,則按默認設置進行。
Sub 語句的各部分詳述如下:
Private:可選的。表示只有在包含其聲明的模塊中的其它過程可以訪問該 Sub 過程。
Public:可選的。表示所有模塊的所有其它過程都可訪問這個 Sub 過程。 如果在包含 Option Private 的模塊中使用,則這個過程在該工程外是不可使用的。
Friend:可選的。只能在類模塊中使用。表示該 Sub 過程在整個工程中都是可見的,但對對象實例的控制者是不可見的。
Static:可選的。表示在調用之間保留 Sub 過程的局部變量的值。Static 屬性對在 Sub 外聲明的變量不會產生影響,即使過程中也使用了這些變量。
Name:必需的。Sub 的名稱;遵循標準的變量命名約定。
Arglist:可選的。代表在調用時要傳遞給 Sub 過程的參數的變量列表。多個變量則用逗號隔開。
Statements:可選的。Sub 過程中所執行的任何語句組。
如果沒有使用 Public、Private 或 Friend 顯式指定,Sub 過程按缺省情況就是公用的。
第三,private sub和sub過程的寫法
一個子過程的聲明語句可以有以下多種寫法:
第一:
Public Sub AA()
MsgBox "AA"
End Sub
第二:
Private Sub BB()
MsgBox "BB"
End Sub
第三:
Sub CC()
MsgBox "CC"
End Sub
以上三個過程的區別在于過程AA使用了Public語句,使過程成為工程級別的過程,在當前工程中任何模塊都可以調用。過程BB使用了Private語句,則為模塊級別的過程,只能當前模塊可以調用此程序。過程CC使用了缺省設置,它的級別等同于過程AA。
Public sub和Private sub只能選一個,選擇了Public sub就不能選擇Private sub,反之亦然。一個工作薄中一個過程被申明為Public sub后,表明聲明的過程是一個公共過程,一個過程被申明為公共過程之后,就表明該工作薄中所有的模塊中的其它的過程都可以訪問這個過程。
Private sub過程只有同一個模塊中的其它過程才能訪問。
private sub 和sub過程在調用方面的區別:我們在excel工作表中使用快捷鍵“Alt+F8”打開宏對話框,只能看到過程AA和過程CC。也就是說private sub過程是不會顯示在宏對話框里面的。
第四,private sub和sub過程的調用方法
也就是從一個過程執行另一個過程的方法:
Sub 公共()
MsgBox "部落窩論壇:www.blwbbs.com歡迎你。"
End Sub
Private Sub 私有()
MsgBox "這是我的窩窩私人空間。"
End Sub
上面分別是sub和private sub過程。下面我們來講講調用方法。
調用方法一:直接使用過程名
1.調用sub 公共()
Sub 調用()
公共
End Sub
2.調用Private Sub 私有()
Sub 調用()
私有
End Sub
調用方法二:使用call調用
在過程名稱前使用call關鍵字:call 過程名
Sub 調用()
Call 公共
Call 私有
End Sub
調用的兩個過程寫在一起,先執行第一個再執行第二個。
調用方法三:利用Application對象的Run方法:Application.Run 過程名
Sub 調用()
Application.Run "公共"
End Sub
過程名稱也可以是字符串變量,比如下面這樣寫:
Sub 調用()
Dim a As String
a = "私有"
Application.Run a
End Sub
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.lukmueng.com/
本文標題:private sub私有過程使用介紹