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