学学习习 MMiiccrrooSSttaattiioonn VVBBAA
JJeerrrryy WWiinntteerrss 著著
奔奔特特力力学学院院出出版版
EExxttoonn,,PPAA
22000066 年年
前 言
(奔特力系统公司,John Gooding)
MicroStation VBA 是 MicroStation V8 对 Microsoft Visual Basic for
Application(VBA)引擎的实现,它为 MicroStation 用户和开发者提供了大量功能
— 从简单的自定义到与其它 Windows 应用的紧密集成。借助于 VBA,用户能
定义 MicroStation 自动完成用户所需的重复任务。
许多用户已经发现,用 VBA 来使工作更容易其实很简单。使用标准的用户
界面,采用世界上最流行的编程语言,轻松与 Microsoft Office 以及其它应用程
序连接和通讯,所有这些仅仅是 VBA 所提供的许多功能的一部分。
虽然 MicroStation VBA 很流行,但您可能属于那些踌躇于甚或是猜疑于探
索 MicroStation 编程的人们。您大可不必这样!VBA 是最容易掌握的编程环境,
《学习 MicroStation VBA》这本书是帮助您学习的最佳指南。
一本想适合所有读者的书经常是要么缺少初学者所需的基础资料,要么缺少
专家所需的深层次技术信息。然而,《学习 MicroStation VBA》是一部同时服务
于初学者和专家的少见的杰出作品。这本全面的书籍集 Jerry Winters 先生广博
的 VBA 专业技能和 MicroStation 基础知识于一身。
介绍性章节仔细而彻底地带领新用户遍历了 Visual Basic for Application 的
基础。从其对 VBA 集成开发环境的详细回顾开始,经过其对如何和怎样使用窗
体和类模块的细心描述,再到其对对象模型的全面解释而终,Jerry 先生确保初
学者不仅具有一本如何使用 VBA 的指南,而且还使初学者从其深厚的洞察力中
获益。Jerry 先生告诉了我们,在为 MicroStation 建立专业级的应用时如何更好
地使用 VBA 工具。
1
China BDN
专家级的 VBA 程序员同样会发现 Jerry 先生的这本书是一本无价的参考工
具书,这本书能帮助他们开拓 VBA 所提供的功能。例如,Jerry 先生对 XML 的
概述以及在 MicroStation VBA 中如何调用 Windows API 能提高每位程序员的知
识水平。
但对于大多数的 MicroStation 用户来说,这本书应当能帮助您最终摆脱对编
写程序的恐惧。这本书中含有开始编写 MicroStation 程序和自动化您最通常任务
的所有资料。
2
China BDN
目 录
1.
2.
3.
VBA介绍...........................................................................................1
什么是VBA? .....................................................................................1
为什么要学习VBA? ..........................................................................1
什么时候应该使用VBA? ...................................................................2
怎样使用VBA? .................................................................................2
VBA是什么样的?..............................................................................6
本章回顾 ............................................................................................7
VBA工程管理器 ................................................................................8
VBA工程管理器的功能.......................................................................9
宏对话框 ..........................................................................................10
本章回顾 .......................................................................................... 11
VBA IDE .........................................................................................12
菜单 .................................................................................................13
File(文件)菜单...........................................................................13
Edit(编辑)菜单 ..........................................................................14
View(视图)菜单.........................................................................15
Insert(插入)菜单........................................................................15
Format(格式)菜单 .....................................................................16
Debug(调试)菜单 ......................................................................16
Run(运行)菜单 ..........................................................................16
Tool(工具)菜单..........................................................................17
3
China BDN
Add-Ins(外接程序)菜单 .............................................................17
Window(窗口)菜单....................................................................18
Help(帮助)菜单 .........................................................................18
工具栏..............................................................................................18
标准工具栏 ...............................................................................19
编辑工具栏 ...............................................................................19
调试工具栏 ...............................................................................19
用户窗体工具栏 ........................................................................19
窗口 .................................................................................................19
工程资源管理器 ........................................................................20
对象浏览器 ...............................................................................21
属性窗口 ...................................................................................21
监视窗口 ...................................................................................22
本地窗口 ...................................................................................22
立即窗口 ...................................................................................23
调用堆栈窗口............................................................................23
工具箱窗口 ...............................................................................24
其它窗口 ...................................................................................25
本章回顾 ..........................................................................................26
找到帮助.........................................................................................27
术语 .................................................................................................27
帮助文件 ..........................................................................................29
内容选项卡 ...............................................................................30
索引选项卡 ...............................................................................31
搜索选项卡 ...............................................................................31
书签选项卡 ...............................................................................33
MicroStation VBA帮助文件 .......................................................34
网络 .................................................................................................35
对象浏览器.......................................................................................37
4.
4
China BDN
5.
6.
本章回顾 ..........................................................................................39
模块、窗体和类模块.......................................................................40
模块 .................................................................................................40
窗体 .................................................................................................44
类.....................................................................................................46
过程和函数.......................................................................................50
返回一个数组............................................................................55
返回“类型”............................................................................57
返回对象 ...................................................................................58
ByVal和ByRef(按值和按引用传递)............................................59
声明变量 ...................................................................................61
Optional Explicit........................................................................62
本章回顾 ..........................................................................................62
变 量.................................... ..........................................................64
标准VBA变量类型............................................................................64
Integer(整型).............................................................................65
Long(长整型) ............................................................................65
Double(双精度型) .....................................................................65
Boolean(布尔型) .......................................................................66
Date(日期型).............................................................................67
String(字符串型) .......................................................................67
Object(对象型)..........................................................................67
Variant ......................................................................................67
MicroStation特有的变量类型............................................................67
Application(应用) ......................................................................68
DesignFile(设计文件)................................................................68
ModelReference(模型参考) ......................................................68
Level(层)...................................................................................69
LineElement(线元素) ................................................................69
5
China BDN
7.
EllipseElement(椭圆元素) .........................................................69
ArcElement(弧元素)..................................................................70
TextElement(文本元素).............................................................70
赋值和设置对象 ...............................................................................71
数组(Array) ......................................................................................71
常数 .................................................................................................72
变量名..............................................................................................72
区分大小写 ...............................................................................73
Optional Explicit...............................................................................74
使用变量 ..........................................................................................75
本章回顾 ..........................................................................................75
操作文本.........................................................................................76
VBA字符串函数 ...............................................................................77
UCase(大写转换)......................................................................77
LCase(小写转换) ......................................................................77
StrConv(字符串转换) ................................................................78
WeekDayName(星期名)、WeekDay(日期转星期) ....................78
MonthName(月名) ....................................................................79
LTrim(左截取)、RTrim(右截取)、Trim(两端截取) ......................80
StrComp(字符串比较) ...............................................................80
Len(取字串长度) .......................................................................84
Left(左取子串)...........................................................................84
Right(右取子串) ........................................................................85
Mid(取中串) ..............................................................................85
Replace(替换字串)....................................................................86
InStr(子串位置) .........................................................................87
InStrRev(反向子串位置)............................................................89
Split(分割)和Join(联接) .............................................................89
Asc(字符到ASCII码)和Chr(ASCII码到字符) ..............................91
6
China BDN
8.
FormatCurrency(格式化货币) ...................................................92
FormatNumber(格式化数字) .....................................................93
FormatDateTime(格式化日期) ..................................................94
Format(格式化).........................................................................94
&(连接符)..................................................................................95
VbCr(回车符) ............................................................................95
VbTab(制表符) ..........................................................................95
本章回顾 ..........................................................................................95
操作数字.........................................................................................96
数字函数 ..........................................................................................96
加..............................................................................................96
减..............................................................................................98
乘..............................................................................................98
除..............................................................................................99
平方与指数 ...............................................................................99
平方根.....................................................................................100
正弦、余弦、正切...................................................................100
反正切.....................................................................................103
绝对值.....................................................................................104
转换为整数、长整数、双精度数和值 ......................................104
CLng.......................................................................................105
Fix...........................................................................................105
CDbl .......................................................................................106
Val ..........................................................................................106
IsNumeric ...............................................................................106
Round.....................................................................................107
Mod—求余..............................................................................108
Sgn—求数的正负号................................................................108
Rnd与Randomize ...................................................................108
7
China BDN