分享

【新提醒】【VBA For ET 教材连载系列】四

 nxhujiee 2017-04-13
    VBE中有一个选项对话框,对于VBA开发者来说极为重要。它可以设置很多项目,设置好选项对编写程序有很大帮助。
    单击【工具】\【选项】即可打开选项,其界面如下:

【VBA For ET 教材连载系列】四_16048503

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 你好,朋友”并单击回车时,程序将立即弹出提示,见下图。  I- m- N" X4 H9 A' f. F9 j
0 @! Q, Z- X$ n9 \3 c8 [' b
【VBA For ET 教材连载系列】四_16048504
/ 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") =7
End Sub$ g) K1 n% O7 A$ ?
__________________________________________________________________________________" X( R% P3 f+ _0 Q* {& i

    因IF语句没有then或者goto致使代码不全,程序无法执行。当用户输入“if range("a1") =77 h9 ?1 }9 M3 A4 U( W( ]" a

    并单击回车键时程序将弹出提示,见下图:
* R1 b" {' ]% z+ B2 n& y9 [# `
【VBA For ET 教材连载系列】四_16048505

4.3 编译错误之缺少Then

    “要求变量声明”用于确保程序中调用的变量范围更准确,但对于新手来说,前期无法较准确、全面地掌握好各种变量,有一定层度的困难,可以忽略此选项。对于老程序员来说,此选项必须勾选。
. 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, "yymmdd")
End Sub
__________________________________________________________________________________0 e: k: r1 {# p- i5 f3 t
    当用户不完全记得格式化函数的具体写法,仅仅知道以F开头,那么当选项中设置为“自动列出成员”后,用户可以按照以下方法来快速地获取帮助。
1 z& [; |2 e+ p6 C! ?" F/ N
    首先.MsgBox之后,输入“VBA.”,当用户输入点之后程序自动列出VBA中可用的所有函数,见下图。+ g6 ~7 M  w1 R8 ?& q
【VBA For ET 教材连载系列】四_16048506
1 Y' j: _0 Q* w5 I# {) d
4.4 利用自动列出成员录入Format
% X  h6 ?" y# b( g% |
    此时用户再输入“F”,下拉列表自动定位于F开头的函数,见下图所示
" ~( M; N. Z$ u: l' L
【VBA For ET 教材连载系列】四_16048507
5 |! L/ }/ A# y2 g$ o+ f1 f
4.5 利用自动列出成员录入Format
- ]/ q9 E7 y, ?# w5 h: i! B+ n" ?
    拉下滚动条,或者继续输入字母O就可以看到函“Format”函数了。当通过下箭头选择对象后,按下快捷键TAB”,程序将会自动将函数的所有字母录到程序中,而不需要用户手工输入全部字母,防范输入错误。
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
【VBA For ET 教材连载系列】四_16048508

4.6 窗体中添加多页控件
8 F% d9 m6 a5 Q) j( f+ f
    双击窗体空白区,程序将自动产生两句代码:
__________________________________________________________________________________

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.”,然后程序会自动列出窗体中对象和属性名称,继续输入字母m,就看到全名“MultiPage1”了。按向下箭头键,选择该名称按下“TAB”即将全名准确地输入到代码窗口中。

【VBA For ET 教材连载系列】四_16048509
! t3 ~6 e+ T1 n: T
4.7 快速信息

    “自动显示快速信息”:此项目也可以助于新手准确的录入代码,及提供简单帮助。

    勾选此项目后,用户输入部门函数后,程序会自动提示参数,让用户明白当前需要输入的是什么,或者其类型是什么。防范错误的发生。
# s1 x: p2 @4 Q9 S
    实例一:逐步提示msgbox的参数
& 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
    它得到的结果是:
7 B' Y6 f, e+ \, w, O
【VBA For ET 教材连载系列】四_16048510

4.8 利用Msgbox提示今日日期
; ]# l- P9 H+ ^+ b% v) m
    但是如果对Msgbog函数的参数不了解是很难准地录入这个代码的。
, r* h4 S. J) ]! I/ K; S& T
    让我们先了解下Msgbox的函数与语法。

    Msgbox 的作用是弹出提示信息。

    它有很多参数,每个参数有很多供选择的项目。它总共有5个参数,各参数含义如下:

    参数1.字符串表达式,作为显示在对话框中的消息。必选参数。
7 Y; b8 C- o5 m% R6 ~
    参数2.Buttons 可选的。指定显示按钮的数目及形式,使用的图标样式,缺省按钮是什么以及消息框的强制回应等。
, }, H2 P% v) o! l
    参数3.Title 可选的。在对话框标题栏中显示的字符串表达式。如果省略 title,则将应用程序名放在标题栏中。

    参数4.Helpfile 可选的。字符串表达式,识别用来向对话框提供上下文相关帮助的帮助文件。如果提供了 helpfile,则也必须提供 context
- }( e# P& G2 ]1 S
    参数5.Context 可选的。数值表达式,由帮助文件的作者指定给适当的帮助主题的帮助上下文编号。如果提供了 context,则也必须提供 helpfile
" B% A- n( N; L0 g3 y4 k% p8 V
    如果用户不熟悉msgbox的参数,可以通过逐步提示来顺利完成参数的输入。

    现在时入代码录入窗口,输入“Msgbox”后,再输入一个空格,此时程序将会自动弹出提示信息。见下图所示:4 @2 f3 y5 z5 c! Q
【VBA For ET 教材连载系列】四_16048511

4.9 Msgbox参数提示
* Q/ }( d3 b  ^: ?# t  P
    图中列出了msgbox函数的所有参数,当前待输入的参数加粗显示。而可选参数(可以输入也可以省略的参数)则外置大括[]表示,如图中后四个参数。
% y, }7 ~! X% X) j+ Y
4.2 编辑器格式
    此选项中用于设置各种代码的显示颜色。例如黑色显示正常代码,加阴影背景色显示选定文本、红色显示有错误的代码等等………
$ P1 U2 v6 h7 [0 ]4 M( X3 `# j! D- q) y
    此选项一般不需要修改,以确保与其它用户的显示风格统一。

【VBA For ET 教材连载系列】四_16048512

4.10 编辑器格式选项卡
6 k! i  F* b8 _0 r3 |
4.3 通用% n$ h* b& K  B& ]! P  i
    “通用”选项卡中的“窗体网格设置”可以使用窗体中显示网格,这有利于窗体中的控件对齐。' p5 S, L4 @: s; l$ `
$ K' N  q8 ]+ @$ ^( {
【VBA For ET 教材连载系列】四_16048513

4.11 通用选项卡
, _1 P) a' l, {& q8 `7 d6 d& i3 y
    例如下图4.12,窗体中插入了6个命令按钮,因为有网格可参照,而且勾选了“对齐控件到网格”,所以控件会自动对齐,而不需要手动微调多次才完成。

【VBA For ET 教材连载系列】四_16048514
& A5 ^9 T3 q! R
4.12 按网格对齐控件
. V& i! j5 }7 @( a9 N7 o
    窗体中的网格在运行窗体时将自动消失。它仅仅在编辑状态下才显示。

    选项中的“显示工具提示”是鼠标指工具栏的按钮时提示各按钮的功能、含义。

【VBA For ET 教材连载系列】四_16048515

4.13 提示工具含义

4.4 工程加密
    如果需要对自己的代码设置密码,防止别人轻易查看,或者保护代码不被新手不小心删除代码而致使程序无法运行后续代码,可以对程序加密。

    大多数程序开发都不是终端用户。当程序给新手使用时,如果新手乱改了代码或者误删除将导致以工具的预期效果无法达成。所以为了代码的完整性和安全性,有必要对代码加密,除非防止别人查看外,更重要是确保代码的完整性。
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! ~
【VBA For ET 教材连载系列】四_16048516

4.14 加密工程

    VBE环境已有基本认识,下节中将带领大家认识VB中的过程。

; x: J6 m. G  O; g4 T
[ 本帖最后由 wendy   于 2009-12-23 16:15 编辑 ]

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多