VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
开发集成Microsoft Visual Basic for Application的应用系统(一)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

开发集成Microsoft Visual Basic for Application的应用系统(一)

 

          Microsoft Visual Basic for Application(以下简记为VBA)Microsoft Office的核心组件之一,作为一个嵌入式二次开发引擎,VBA被集成到许多著名的大型软件系统之中(例如:AutoCAD 2002Core Draw等),集成VBA的一个重要原因是类似Microsoft Office类型的商业软件取得巨大的成功,一个众所周知的事实是Word ExcelPowerPoint,以及其他Office程序共享一个公共的二次开发环境,即VBA。本文介绍VBA集成的基本概念,在后续的文章中将陆续介绍如何在你的应用程序中集成VBA的基本技术。

          Microsoft VBA建立在COM技术基础之上,如果你打算让你的应用系统支持宏语言或描述语言,以便你的客户可以充分定制化你的应用系统,或可以进行深度的二次开发,集成VBA是一种聪明的选择,通过集成VBA,你的系统可以与Microsoft Office共享同一个二次开发环境。VBA在语言级别上等价于VB 6.0,在运行机制上,VBA是以伪代码(Microsoft P-Code)形式运行,VB6可以编译为机器码(依赖于VB运行时库),除编译的差别外,二者最大的差异是所支持的Form库,VBAForm来自Fm20.dll,本质上这类Form是一种特殊类型的ActiveDesigner(一种类似于VB6集成的报表设计器类型的可编程对象)。

 

(集成在用户系统中的VBA环境)

          VBA的基本想法是,将程序对象映射为对应的VBA对象,基本的VBA对象有以下几种:

1、          VBA工程:在集成VBA的应用系统中,VBA工程有两个重要角色,一、VBA工程是VBA可编程对象的容器(所有可编程对象的集合),二、VBA工程是实现VBA对象存储的基础。

2、          VBA可编程项:是一个特定程序对象在VBA环境中的对应对象,首先这类对象必须是一个COM对象(必须支持事件),其次这个对象必须完成特定的程序功能。例如:你可以将一个特定的MFC对象实现为一个VBA可编程项,如第一图中Normal工程中的的TestView。可编程项仅有一个运行时事例。

3、          VBA可编程类:是一个特定程序对象在VBA环境中的对应对象,首先这类对象必须是一个COM对象(必须支持事件),其次这个对象必须完成特定的程序功能。例如:你可以将一个特定的MFC多文档子窗口对象实现为一个VBA可编程类,可编程项可以有多个运行时事例。

4、          VBA可编程控件:VBA可编程项的子对象。

5、          ActiveDesigner:一种特殊的VBA工程项,可以有可是化的设计机制,一个典型的例子是VBA中的Form,下图显示一个用户开发的ActiveDesigner

(用户设计的基于MFC的Designer对象)

ActiveDesigner在编程环境中的应用

 

VBA对象结构图如下:

 

一个集成VBA系统的应用程序:

(未完待续,如果你有兴趣在你的系统中集成VBA技术,请与本人联系,我的e-mail:  [email protected]




相关文章

相关软件