会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Excel技巧 > 操作 > 正文

Excel 97/VBA技术讲座之一

时间:2005-02-24 12:25 来源:Excel Home 作者:admin 阅读:
今年5月,美国Microsoft公司在中国推出了Office套件的最新版本——Office 97中文版。该套件的各个软件都提供Visual Basic for Application(VBA)作为其宏语言,为使用这些软件的广大用户提供了一个新的、更高层次的开发平台。即使是非计算机专业的用户,利用VBA也可以方便地开发出高水平的应用软件系统。本讲座主要以Excel 97为例,介绍VBA的基本概念、主要特点和应用VBA开发应用软件的基本步骤。
    一、概述 1. Excel 97    Office 97中文版是Microsoft公司第一个完全汉化的Office套件,是运行于Windows 95/Windows NT环境下应用最为广泛的软件之一。其中有Word 97、Excel 97、Power Point 97、Access 97和Outlook 97。其中的Access 97和Power Point 97是首次汉化,Outlook 97是新增的个人事务管理组件。
    Excel 97是Microsoft Office 97家族成员。是一个功能强大、技术先进、使用方便的表格式数据综合管理和分析系统。它采用电子表格方式进行数据处理,工作直观方便;提供了丰富的函数,可以进行各种数据处理、统计分析、辅助决策,适用于财政、金融、统计、管理等广泛的应用领域;具有强大的制图功能,可以方便地绘出各种专业图表,实现了图、文、表三者的完美结合;新推出的Excel 97还新增了预防宏病毒的功能,插入地图和超级链接的功能(直接链接来自Internet或其它网络地址的文档);以及视面管理器、共享工作簿等功能。Excel 97的强大功能还在于它提供的宏语言VBA。
    2. Visual Basic for Application    Visual Basic是Windows环境下开发应用软件的一种通用程序设计语言,功能强大,直观易用。一方面,它是可视性程序设计语言,许多复杂的用户界面设计都可以直观地利用鼠标拖放以及对各种对象属性的设置、修改完成,几乎无需编程。另一方面,程序的控制普遍采用了事件驱动机制,根据用户操作触发的事件,执行不同的动作,完成相应的功能,因而都是一些短小精练的过程,容易设计和调试。VBA则是根据其嵌入软件的不同,增加了对相应软件不同对象的控制功能。例如Excel 97的VBA,主要增加了关于Excel工作簿、工作表、区域、数据透视表等对象的属性、事件和方法。在Excel 97中使用VBA,可以更方遍地操作Excel,更好地控制Excel,进一步深入发掘Excel的强大功能,全面提高使用Excel工作的自动化水平。甚至可以在短短的几天时间内就在Excel环境中开发出所需的完整的管理信息系统。而且VBA广泛地应用于Microsoft公司开发的各种软件中,例如Office 97套件中的Powerpoint 97、Word 97、Outlook 97等。所以本讲座介绍的内容不仅对Excel有用,对于其它包含Visual Basic的应用程序也同样有用。
    3. VBA与Excel 97的关系    早期电子数据表的宏语言是模仿用户界面的,实质上就是一些按键的组合,再加上一些类似于Basic语言中的INPUT、IF…THEN…E�Z?癛NC”相当于用户键入R(区域“Range”)、N(名称“Name”)C(创建“Create”),执行的是创建区域名的操作。这样的宏不仅难以阅读,而且也与图形用户界面不适应。Excel 5.0以前的版本开始使用独立于用户界面的宏语言。例如在Excel 4.0版中至少有三种不同的方法复制一个区域:使用Ctrl+C复合键;使用工具栏中的“复制”工具按钮;使用“编辑”菜单中的“复制”命令。所有这些用户操作序列都被翻译成单一的宏函数,=COPY( )。这样的宏的主要缺点是Excel宏只能用于Excel,而无法适应其它应用程序。从Excel 5.0开始使用VBA作为宏语言,Excel 97中的VBA功能更为强大,使用也更方便。
    宿主于Excel 97中的VBA,不是嵌入在Excel内部,而是通过一组称作对象库的特殊命令与Excel关联的。VBA与其它软件的这种控制关系,使得VBA不仅可以控制Excel,而且可以控制任何提供对象库的应用程序。例如所有的Office 97应用程序都提供对象库,其它一些Microsft和非Microsoft应用程序也提供对象库。同时宿主于Excel的VBA也不是唯一与Excel 对象库通信的语言,还可以使用宿主于Word的VBA,独立版本的Visual Basic,C++以及Delphi等操纵Excel。
    4. VBA与Excel 对象的关系    Excel 97的众多对象之间是相互关联的,构成了一个有机的整体。其中Application对象位于最上层,代表了整个Excel应用程序。包括应用程序的各种选项以及当前活动的各种对象。其下面主要有Workbooks(工作簿集合)对象、Window(窗口)对象、Dialog(对话框)对象等。而Workbooks对象下面又有Worksheets(工作表)对象、Chart(图表)对象、Window(窗口)对象、Name(名称)对象等。Worksheets对象下面还有Range(区域)对象、Name(名称)对象等。其中Application对象下面的Window对象与Workbook对象下面的Window对象是不同的。前者包含了Excel的所有窗口,而后者只包含指定工作簿中的窗口。
    不同的对象通常具有不同的方法、属性和事件。例如Workbooks对象有Add、Close、Open等方法,Application、Count、Item、Parent等属性。集合型对象都有Count、Item属性,可得到相应集合中的对象个数或指定的对象。而除了Application对象以外的所有的对象都有Parent属性,可得到相应对象的父对象。不同对象包含的事件也是不同的。例如Worksheet对象就有Activate、Deactivate、Change……等七个事件,而Workbook对象则包含了多达19个事件。
    VBA主要是根据用户对不同对象的操作、触发的相应事件,去激活相应的程序,通过对相关的对象执行不同的方法,或是修改相关对象的属性来完成特定的工作。例如,下面是一段VBA程序:
   
Sub Example( )
    Range(“A1:F1”).Select
    Selection.NumberFormat = “$#.##0”
    ActiveWindow.DisplayGridlines = False
End Sub
该段程序首先选定A1:F1单元区域(使用Range对象的Select方法),然后将选定对象的格式设置成指定的货币样式(修改Selection对象的NumberFormat属性),最后消除窗口中的网格线(修改ActiveWindow对象的DisplayGridlines属性)。
    由于Excel 97对象众多,而不同的对象其属性、方法、事件又有较大的差异,学习起来较为困难。Excel 97的VBA提供了对象浏览器、立即窗口、本地窗口、联机帮助等多种工具,可以帮助我们系统地了解和学习对象。在实际使用VBA的过程中,还随时可以利用VBA的自动列表功能。例如在输入了“Selection.”后,VBA将自动弹出Selection对象可用的方法和属性的自动列表供用户选择。而当输入了某个函数名后,VBA将自动弹出该函数可用参数的自动列表。学习VBA的最有效的方法是利用宏记录器录制有关的操作,将其转换成VBA宏语言,然后在其基础上再编辑修改,建立自己需要的宏。

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: