VBE中有一個選項對話框,對于VBA開發(fā)者來說極為重要。它可以設置很多項目,設置好選項對編寫程序有很大幫助。 單擊【工具】\【選項】即可打開選項,其界面如下: 圖4.1 選項對話框
選項對話框包括4個選項卡,其中前三個較為重要。/ y# z# L( l3 G# K- Q* r- n
4.1編輯器$ Q% Y; B+ p3 f
在“編輯器”中的“自動語法檢測”對于新用戶極為有用,可以在用戶輸入代碼時檢測你的代碼的正確性,當代碼語法有誤時會彈出提示。8 ~; L B" b0 A. e& k
實例一: 在模塊中輸入以下代碼:__________________________________________________________________________________8 P, s8 q: k( c5 ^( O
# Q2 |0 H& Y/ D8 M. | K
Sub AA()MsgBox 你好,朋友- S _( G C) O% U1 b( j( Y
End Sub__________________________________________________________________________________
因代碼中沒有使用引號,而致使程序無運行,當用戶輸入“MsgBox 你好,朋友”并單擊回車時,程序?qū)⒘⒓磸棾鎏崾?,見下圖。 I- m- N" X4 H9 A' f. F9 j
0 @! Q, Z- X$ n9 \3 c8 [' b
/ o, g% `9 t& j4 g) H2 p
圖4.2 編譯錯誤之無效字符
- e5 L' U; C" b/ A) E
實例二:
輸入以下代碼:5 W& t% n8 |/ |' f: y+ g8 j+ x
__________________________________________________________________________________
; X% J/ t. \0 w8 r4 v
- z' F1 O. h+ z5 _. Z
Sub AA()0 G4 V( Z+ P1 } i( P& q, Z
if range("a1") =7End Sub$ g) K1 n% O7 A$ ?
__________________________________________________________________________________" X( R% P3 f+ _0 Q* {& i
因IF語句沒有then或者goto致使代碼不全,程序無法執(zhí)行。當用戶輸入“if range("a1") =7”7 h9 ?1 }9 M3 A4 U( W( ]" a
并單擊回車鍵時程序?qū)棾鎏崾?,見下圖:
* R1 b" {' ]% z+ B2 n& y9 [# `
圖4.3 編譯錯誤之缺少Then
“要求變量聲明”用于確保程序中調(diào)用的變量范圍更準確,但對于新手來說,前期無法較準確、全面地掌握好各種變量,有一定層度的困難,可以忽略此選項。對于老程序員來說,此選項必須勾選。
. h, q0 Q4 m" ^( _0 {5 U, i
“自動列出成員”是新手編程序的好幫手,它可以幫助用戶列出對象的屬性、方法,使用戶不需要死記硬背英文單詞,卻也可編寫出代碼。
8 A; D& i* N9 y1 ^& a$ Y
實例一:
假設需要編寫以下程序:以指定格式報告當前日期:
__________________________________________________________________________________9 X- V0 f' _) B
8 m2 h) k8 V; b* f
Sub 今天日期()MsgBox Format(Date, "yy年mm月dd")End Sub__________________________________________________________________________________0 e: k: r1 {# p- i5 f3 t
當用戶不完全記得格式化函數(shù)的具體寫法,僅僅知道以F開頭,那么當選項中設置為“自動列出成員”后,用戶可以按照以下方法來快速地獲取幫助。
1 z& [; |2 e+ p6 C! ?" F/ N
首先.在MsgBox之后,輸入“VBA.”,當用戶輸入點之后程序自動列出VBA中可用的所有函數(shù),見下圖。+ g6 ~7 M w1 R8 ?& q
1 Y' j: _0 Q* w5 I# {) d
圖4.4 利用自動列出成員錄入Format
% X h6 ?" y# b( g% |
此時用戶再輸入“F”,下拉列表自動定位于F開頭的函數(shù),見下圖所示
" ~( M; N. Z$ u: l' L
5 |! L/ }/ A# y2 g$ o+ f1 f
圖4.5 利用自動列出成員錄入Format
- ]/ q9 E7 y, ?# w5 h: i! B+ n" ?
拉下滾動條,或者繼續(xù)輸入字母O就可以看到函“Format”函數(shù)了。當通過下箭頭選擇對象后,按下快捷鍵“TAB”,程序?qū)詣訉⒑瘮?shù)的所有字母錄到程序中,而不需要用戶手工輸入全部字母,防范輸入錯誤。 0 X* i) E8 T1 S6 H. L1 I) W2 T
實例二:
引用窗體中的多頁控件時,通過自動列出成員來簡化輸入。
' U3 J- i% G: }( q6 w) |
單擊菜單【插入】\【用戶窗體】,再在窗體中輸入多頁控件file:///C:/DOCUME~1/ADMINI~1.WWW/LOCALS~1/Temp/ksohtml/wps_clip_image-1054.png,見圖4.6所示;
! W5 R q! @$ K/ g* V4 o
圖4.6 窗體中添加多頁控件
8 F% d9 m6 a5 Q) j( f+ f
雙擊窗體空白區(qū),程序?qū)⒆詣赢a(chǎn)生兩句代碼:
__________________________________________________________________________________Private Sub UserForm_Click()+ i N5 e) k- W$ a& u4 u+ S% e
4 X2 f% t1 A* b7 A9 c# g6 ]
End Sub& \% K2 h! g2 l% t- K+ X- {% I
__________________________________________________________________________________% o, w+ l: ]/ r N0 D
. H$ T6 e, M& @7 n) ? U
多頁控件的全名是“MultiPage1”,如果想簡化輸入,同時確保名稱無誤,在代碼中間輸入“me.”,然后程序會自動列出窗體中對象和屬性名稱,繼續(xù)輸入字母m,就看到全名“MultiPage1”了。按向下箭頭鍵,選擇該名稱按下“TAB”即將全名準確地輸入到代碼窗口中。
! t3 ~6 e+ T1 n: T
圖4.7 快速信息
“自動顯示快速信息”:此項目也可以助于新手準確的錄入代碼,及提供簡單幫助。
勾選此項目后,用戶輸入部門函數(shù)后,程序會自動提示參數(shù),讓用戶明白當前需要輸入的是什么,或者其類型是什么。防范錯誤的發(fā)生。
# s1 x: p2 @4 Q9 S
實例一:逐步提示msgbox的參數(shù)
& b; f0 z3 x6 b t! R/ ^
假設需要輸入以下程序,提示今天的日期:
__________________________________________________________________________________4 {. I1 s" d' Q {2 [
Sub 今天日期()MsgBox Date, vbYesNoCancel, "友情提示"End Sub__________________________________________________________________________________8 I+ t, e p {) U9 X, V
它得到的結(jié)果是:
7 B' Y6 f, e+ \, w, O
圖4.8 利用Msgbox提示今日日期
; ]# l- P9 H+ ^+ b% v) m
但是如果對Msgbog函數(shù)的參數(shù)不了解是很難準地錄入這個代碼的。
, r* h4 S. J) ]! I/ K; S& T
讓我們先了解下Msgbox的函數(shù)與語法。
Msgbox 的作用是彈出提示信息。
它有很多參數(shù),每個參數(shù)有很多供選擇的項目。它總共有5個參數(shù),各參數(shù)含義如下:
參數(shù)1.字符串表達式,作為顯示在對話框中的消息。必選參數(shù)。
7 Y; b8 C- o5 m% R6 ~
參數(shù)2.Buttons 可選的。指定顯示按鈕的數(shù)目及形式,使用的圖標樣式,缺省按鈕是什么以及消息框的強制回應等。
, }, H2 P% v) o! l
參數(shù)3.Title 可選的。在對話框標題欄中顯示的字符串表達式。如果省略 title,則將應用程序名放在標題欄中。
參數(shù)4.Helpfile 可選的。字符串表達式,識別用來向?qū)υ捒蛱峁┥舷挛南嚓P幫助的幫助文件。如果提供了 helpfile,則也必須提供 context。
- }( e# P& G2 ]1 S
參數(shù)5.Context 可選的。數(shù)值表達式,由幫助文件的作者指定給適當?shù)膸椭黝}的幫助上下文編號。如果提供了 context,則也必須提供 helpfile。
" B% A- n( N; L0 g3 y4 k% p8 V
如果用戶不熟悉msgbox的參數(shù),可以通過逐步提示來順利完成參數(shù)的輸入。
現(xiàn)在時入代碼錄入窗口,輸入“Msgbox”后,再輸入一個空格,此時程序?qū)詣訌棾鎏崾拘畔ⅰR娤聢D所示:4 @2 f3 y5 z5 c! Q
圖4.9 Msgbox參數(shù)提示
* Q/ }( d3 b ^: ?# t P
圖中列出了msgbox函數(shù)的所有參數(shù),當前待輸入的參數(shù)加粗顯示。而可選參數(shù)(可以輸入也可以省略的參數(shù))則外置大括[]表示,如圖中后四個參數(shù)。
% y, }7 ~! X% X) j+ Y
4.2 編輯器格式 此選項中用于設置各種代碼的顯示顏色。例如黑色顯示正常代碼,加陰影背景色顯示選定文本、紅色顯示有錯誤的代碼等等………
$ P1 U2 v6 h7 [0 ]4 M( X3 `# j! D- q) y
此選項一般不需要修改,以確保與其它用戶的顯示風格統(tǒng)一。
圖4.10 編輯器格式選項卡
6 k! i F* b8 _0 r3 |
4.3 通用% n$ h* b& K B& ]! P i
“通用”選項卡中的“窗體網(wǎng)格設置”可以使用窗體中顯示網(wǎng)格,這有利于窗體中的控件對齊。' p5 S, L4 @: s; l$ `
$ K' N q8 ]+ @$ ^( {
圖4.11 通用選項卡
, _1 P) a' l, {& q8 `7 d6 d& i3 y
例如下圖4.12,窗體中插入了6個命令按鈕,因為有網(wǎng)格可參照,而且勾選了“對齊控件到網(wǎng)格”,所以控件會自動對齊,而不需要手動微調(diào)多次才完成。
& A5 ^9 T3 q! R
圖4.12 按網(wǎng)格對齊控件
. V& i! j5 }7 @( a9 N7 o
窗體中的網(wǎng)格在運行窗體時將自動消失。它僅僅在編輯狀態(tài)下才顯示。
選項中的“顯示工具提示”是鼠標指工具欄的按鈕時提示各按鈕的功能、含義。 圖4.13 提示工具含義
4.4 工程加密 如果需要對自己的代碼設置密碼,防止別人輕易查看,或者保護代碼不被新手不小心刪除代碼而致使程序無法運行后續(xù)代碼,可以對程序加密。
大多數(shù)程序開發(fā)都不是終端用戶。當程序給新手使用時,如果新手亂改了代碼或者誤刪除將導致以工具的預期效果無法達成。所以為了代碼的完整性和安全性,有必要對代碼加密,除非防止別人查看外,更重要是確保代碼的完整性。
6 T# x; c l0 _1 P# r: ~
加密步驟如下:
B5 w4 x8 x5 m" w( C
(1)單擊菜單【工具】\【VBAProject屬性】,彈出“工程屬性”對話框。
' I7 L b6 z5 V
(2)在“保護”選項卡勾選“查看時鎖定工程”,然后輸入密碼即可
* m$ W1 U" g" W- t! ~
圖4.14 加密工程
VBE環(huán)境已有基本認識,下節(jié)中將帶領大家認識VB中的過程。
; x: J6 m. G O; g4 T
[
本帖最后由 wendy 于 2009-12-23 16:15 編輯 ]