PROE产品的设计结果动态集成发布系统总体设计方案_第1页
PROE产品的设计结果动态集成发布系统总体设计方案_第2页
PROE产品的设计结果动态集成发布系统总体设计方案_第3页
PROE产品的设计结果动态集成发布系统总体设计方案_第4页
PROE产品的设计结果动态集成发布系统总体设计方案_第5页
已阅读5页,还剩37页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PROE产品的设计结果动态集成发布系统总体设计方案

随若办公自动化的发展,在产其设计之后拥仃火量的数据。当这些数据需要

应川到制造、使用和雉护等阶设时,“而常常闪为数据格式等原因,需要浪费

大吊:的时间对这些数据进行加工.另一方而这些模型等信息往往比较大从而造成

资源的浪费。

为此Pro/E产品设计结果动态集成发布系统的设计目标是:一、系统面向产品

全生命周期的需要,通过树形目录结构,可以对各种用于指导产品制造、使用和

维护的信息进行集成:二、脱离产品模型的设计环境,发布和显示这些俏息并且

时某些模型文件进行制量化处理.

总之,一统的目标是将设计结果•息进行合理的集成,并且具有三维浏览功

能.为俏息集成制作不提供最便利的集成环境.

22系统的基本策略与设计思想

2.1.1基木策略

本系统基jBorlandC++Builder6开发,借助OfficePowerPoint的强大数据处

理功能,实现了对数据信息的集成:借助Pro/E及其二次开发,实现了三维模型的

构建以及模型信息提取与轻量化:通过对ProductView的嵌入和开发,实现了脱离

原仃三维模型处理环境,也可对三维模型进行正确的浏览.最后利用HTML语言,

实现了「程的发布,得到三维电子交互于•册.

2.1.2设计思想

系统的基本设计思想如图2.1所示:系统行两个工作阶段.一设计阶段和应用

阶段.设计阶段的主要任务是在Pro/E软件中基于产品的三维模型•构建用于指导

加工、装配、使用和维护的视图和动撕,并迎过动态太集成发伟系统,围绕产品

目录树,将这些素材与文字、图片等元崇集成在•个设计手册工程文件中:应用

阶段的上要任务是将设计阶段的设计手册信息转换为HTML文件和轻量化的模

型,并在应用端通过IE浏览器显示设计手册的H录树、页面和模型,加工、装配

和维修人员可以通过1E浏览器快速套找所需的页面,对模型视图进行实时交互,

了解设计人员的设计意图。

c加丁人员

至结内设口•人员¥裳氏1人员

人维护人员

二推设计软件

(Pro/E)

不内

设计

信息(I.程文件(

•几页面

里HT

怦量化校里文fl

机构

运功各类

中列m

PrWE产品设U结果

动态集成发布系统

T丁卅n案

堵松;没;।人小[用收;息

吴怏咱美联

f册发汁F介;殳r肛底用冷段

图2.1ProE产品设计结果动态集成发信系统的次il思想

2.3系统功能描述

产品设计结果动态集成发布系统的提出,是为了仃关信息的集成,并爆终发

布成电广,•册。对于信息集成传统的交互手册上要以文字、图片等方式对加工,

装配、使用和维修过程进行说明,并且耗时耗力.本东统的开发上要提供了信息

的迅速集成,并且支持模型三维访阿•其主要功能有:

“)产品目求的树形结构管理

通过树形结构管理产品说明书的目录,将产乩说明书与相关的模型文件有机

联系在起,包括:产品目录树的管理、目录节点与模型文件的关联。树节点心

息的点击预览.

(2)手册页面制作

对产品U录树中节点内容进行编辑,包括:

•页而管理:新增、删除页而:

•文本加管理:文本框插入、文本输入、文本位置/7体/藤色/大小等的设置:

•图片管理:图片插入、图片大小和位置设置:

视频管理:一频插入、视频大小和位置设置、播放控制:

•三维模型管理:Pm/E模型插入、视图选择、序列动画播放、模型缩放等:

•&示顺序管理:设置页而、文本、♦片、三维模型的播放顿序.

(3)快速检索资料

以模糊寿询方式对手册中的资料进行检索,包括:检索(Index)资料与搜索

(Search)资料。

(4)发布

将手册目录和页面发布为HTML格式,并对涉及的模型文件进行轻量化和打

包处理,最终将P册发布为一个独立的目录结构。

(5)手册使用

基JIE浏览器,浏览发布后的HTML文件(手册).

2.4系统模块组成

图2.2系统的模块组成

2.4.1系统管理

系统管理模块上要负责对工程的操作和系统的操作,L要包括新建丁.程、打

开工程、保存I:程、关闭匚程和退出系统。

系统后动后•首先要做的就是进行工程的操作,这里新建匚程时会自动生成

系列目录和文件以便接下来的处38L保存「程时;一系列的文件和11录.

这里包括E程文件、PPT文件和网页文件等・

图2.3网页的层次结构

2.5系统总体匚作流程

在2.4系统总体的r.fl流科

Pro/E产品设计结果动态集成发布系统的基本I:作流程如卜.图2.4:

(1)构建产品的三维模型

111结构设计人员使用Pro/E软件,构建产品的三维设计模型:

(2)制作输出内容

设计人员根据后期的使用要求,基于之前建立的三维模型,在Pro/E环境卜.

完成一系列视图、标准、动画等的制作,用于对产品的加工、装配、使用、维修

进行指导:

(3)制作三维r•册

利用本项目开发的三维电子交互F册软件系统,编写基于三维模型的产乩说

明书,建立手册的II录、页面、文本、插图、视频、模型等内容,选择每个插入

模型的缺行视图8

(4)手册发布

手册制作完成后,将其相关的目录、页面、文本、图片、视频、模型等发布

为HTML文件,对相关的模型进行轻量化处理,集中存储到指定目录卜.:

(5)手册使用

【芝、制造和维护人员在生产、维修现场打开HTML文件.,索其需婴的U

录,显示页面中的文本、图片、动画和模型,领会设计者的意图。

2.6系统数据流程

图2.5系统数据流丹

Pro/E产品设计结果动态集成发布系统的数据流程如图2.5所示.苜先是结构

设计匚程加采用三维设计软件Pro/E构建零部件的三维设计模型、动岫等:然后借

用之前通过工艺设计软件建立的工艺资源库中的俏息(NC文件、工艺规划、快照

等),制作人员基于本论攵开发的Pro/E产品设计结果动态集成发布系统建立树节

点、页面组以及加栽页面内容(文本、标注和预先设计好的零件内型等).制作完

成可以将匚程特出成三维电子交互手册,以供使用。

根据系统的设计方案,本电通过对系统构建关迦技术的研究,实现了系统的

功能需求.如图3.1,系统美健技术包括“求结构树的实现、页面组管理I页面编

辑、搜索与索引功能和三维模型技术.

系统构建的关键技术

结构口录树页面组管理与贡投索与索引三维模型的

的实现而内容编制功能访问

图3.1系统构建的关键技术

3.2结构目录树的实现

3.2.1C++Builder6与VCL组件阵根述

BorlandC++Builder是Inprise<Borland)公司推出的基干C一语,;;的快速应

用程序开发(rapidapplicationdevelopment.RAD)「具C++Builder充分利用

已经发展成熟的Delphi的可视化组件库(visualcomponentlibrary.VCL)»吸收

BorlandC++优秀编译器的众多优点,结合先进的基于组件的程序设计技术,己成

为一个非常成熟的可视化应用程序开发「具.

C++Builder程序由两大部分构成:一部分是程序的应用界血,另一部分是程

序代码。一个应用程序的界面由西部分构成:窗体及窗体上的各种组件,组件不

能脱离窗体而单独存在.C++Builder中的组件(component)是用户界面上常出现的

对象,例如命令按钮、文本编辑和树视图等.

C++Builder不仅有数量相当多的标准例程,还有一系列数量更多、更重要的

类.其中一些是展示在组件面板上的组件类,另一些是更为通用的类.包含这些

类的系统库称为VCL<visualcomponentbbrary)可视化组件,一股分为可视

组件。不可视组件。此外C++Bulkier中可以使用第三方亮供的组件(ActiveX控

件),其使用方法与C++Builder中的VCL组件类似,并且用户可以使用白己开发

的ActiveX组件。

3.2.2利用TTreeVicw组件实现结构“录树的管理

内客结构树|我君索引|

图32内容树的目求结构

TTrccVicw组件是一种可视组件,阳树形结构以示、编辑、删除数据项.本系

统采用TTrccVicw组件来实现内容结构树的显示和编辑。如图3.2所示,用一个树

形目录结构显示减速箱各部分结构的信息.

表3.1列出了TTrccVxw组件的主要属性,通过对这些属性值的控制可以实现

对结构树的显示效果操作.

表3.1TTreeView表的「要去性

属性名称意义

ItemsTTreeView组件通过该属性来存储所仃数据项.它的类3为TTreeNode

Selected该属性指出与前选中项,类型为TTreeNode,如无数据项被选中,则返⑼NULL

AutoExpand该属性值true时,TTreeView门动展开和折胜;否则,不会门动展开

该属性值true时,鼠标所指数据项被加亮料不:限件值为㈤货时,正常M东|

HotTrack

images该属性用来保存Imageindex')Slectcdlndex指定的图标,类型为ThnageList

ShowButtons该M性值true时,TTreeView组件显示展开和折强的按钮

ShowLines该属性值true时,TIYeeView组件显示连接父、子数据项的直线

通过调用TTreeView组件的要方法和事件实现对内容结构树节点的增加】、

修改和删除.OnChangc事件:节被选数据项发生变化后.触发该事件.OnDblCLick

事件:当双击数据项时,触发该事件.

。点操作与实现方法如表3.2所示,TTrceView组件通过其Items属性,可以

向该组件添加和删除数据项。增加节点使用AddChild方法,可以向数据添加子数

据.删除节点使用Dclclc方法,删I除该数据项.修改节疝可以通过改变其Tcxl属

性,从而修改节点数据项内容.5点内容的操作可通过建立与行点名称相时应的

内容PPT实现。

表3.2。点操竹与实现方法

节点操作实现方法

增加节点AddChild方法,在父节点下添加子节点.

删除节点Delete方法,删除该数据项.

修改节点通过改变真TextM性,从而修改节点数据项内容。

节点内容通过节点名称来建立相对应的内容PPT.

3.3页面组管理与页面内容编辑的实现

在产品设计结果的动态集成过程中,最为关键的就是如何将数据信息整合起

来,以最便拢的方式集成.系统采用了基「Powerpoint的应用开发,实现了页而

组的管理和页面内容的编辑。借用MicrusuilPuwcrpuini强大的数据处理功能,大

大降低门标用程序开发的复杂性和成本.系统的内容结构树。点与Powerpoint文

稿所时应,通过对文稿中幻灯片的管理,实现对页面组的管理:通过对幻灯片内

容的编辑,实现对页面内容的编辑.

3.3.1COM与自动化技术

在过去的这些年中,对象技术的发展路役是DDE(动态数据交换)、OLE(对像

链接和嵌入)、COM(组件对■象模型)和ActiveX等等心川.在这些技术的发展过程

中,始终遵循苟一个思想:软件支用.使应用程序开发的复杂性和成本降低.组

件技术是近班发展起来的种优秀的软件重用技术.采用组件开发软件就象搭积

术一科容易,组件是具仃某种特定功能的软件模块,利用它我们可以实现许多任

务。

COM,即组件对象模型U”是一种以组件作为发布单元的对象模型,其功能

足使各软件组件可以用统一的方式进行交互.COM既提供了组件之间进行交互的

规范,也提供了实现交互的环境,因为组件对象之间交互的规范不依赖「任何特

定的语彳,故COM也可以是不同语二协作开发的一种标准。可以说.COM是在

■程序之制的交互技术OLE的发:展过程中产生的•而进一步的发展表明,COM

所定义的组件标准的广泛性远远超过了OLE所具仃的能力。尽管从一开始COM

就具有很好的应用前景,也能很好地胜任组件化软件的模型标准,但实际进展并

不顺利,其原因可能在于OLE技术本;的复杂性.但匐若软件的日益庞大和分L

处理的要求,人们逐渐意识到COM符合了当前软件业的发展需要•用COM进行

软件架构是一种理曲的应用方案.这促使COM又得到了进一步的发展,并已遍布

于Microsoft的各种软件产品中.

门动化技术是COM技术的应用,是种重要的工业标准技术,它实现了动态

的数据绑定.该技术是在考虑调用COM对象内接L1成员函数的具体实现时如何对

己经存在的组件的进制源程序代码进行标识、如何处理组件内函数的调用和参

数传递、如何处理参数的检验和返网值等问题而提出的.n动化技术使得VB等语

言在不7解组件程序实现细节的情况卜方便地使用和控制H动化对象,为这些高

级语言使用邠件模块提供了条仃效的途径.通过门动化技术,客户访问力动化

服务器提供的门动化对纹,通过对这些对象属性的提取和设置、执行对望的方法

刖响应对象的事件等进行业件的:次开发〔叫

门动化客户是指操作其它程序暴雨的自动化对象的应用程序或编程工具.例

如用VB编写的程序或VB门身,常称为客户程序。而门动化服务器是暴露可编程

对象供客户使用的应用程度,也称自动化组件.自动化服务器可以是进程内服务

器,一般为DLL形式,也灯以是本地服务器川远程服务器,一般为EXE心式。门

动化服务器中可以暴露■个成多个门动化对皎.例如,Word.Excel.PowerPoint

就分别是本地门动化服务罂,它提供r许多门动化对象.这些时象之间存在着维

承和派生美系,形成了树状层次结构.如图3.3所,云。

PPTAPP

--VBE

VBProjects

VBComponents

CodeModule

图3.3PowerPoint部分对象的N称和关系

n动化客户可以创建自动化时象.可以访问n动化服务器提供的对象,获取

或设置对领的属性或者调用对象的方法.n动化对软和门动化客户之间的交互如

图3.4所示,其中的类型库是描述一个或多个对象的类型/息的二进制文件,只存

储如CLS1D所支外接II的ID.RII的成员函数.成员函数的叁数和返回值的类型

等.参数的调用和返回值的处理均在VARIANT0用进行。VB可以通过对象浏览

对象库中组件对象的方用和属性,也可以利用类型库进行对屈性和方法的访问,

避免繁琐的类型处理.

图3.4自动化客户和自动化线件的交互掾作图

3.3.2MicrosoftPowcrPoirl2003组件模型分析

MSOffice2()03是Windows环境F功能最为完善的办公软件。本文将其视为

种功能很强的服务器程序.通过对其进行二次开发,以满足我们对Office的特

殊11求.正确分析并完整了解整个omcc的时象模中体系是理解和掌握BCB'PX

子服务器组件封装机制的基础,本节主要介绍PowerPoint的关健对象,以及适川

对象Application»Presentation%SlidefllShape的属性和力,法。

在图3.5中描述fPowerPoint中的主要对象的对象树,其中,无星号部分代表

对象和集合,有星号部分表示此名称仅代表时象.在录瓶宏过程中,或者以后的

VBA编程中,经常会用到PowerPoint应用程序的对象.这些对象是Office在应用

程序中提供公用户访问或进行次开发使用.

|Apphca”on3

-{AnswcrWizard

TAEstant刁

-lAutoCoiTcct”

-1COMAddliw]

-fConmiandBars

-|Dc怪ultWebOpe认nT^

ion

—■Procnt.-liixi

qSIkicShcmVicw

-l^lkuiSec'!■'

-{Adjustments

TAnimmionSamgs

TCMIouWcKnut

—{(nneckxlonnat

—{Digram

—|Diagrani5cHlc

-4HIIFonui:

-fGroupSIWc

—|Lii»eForiiiHr

—|l.mkh>rnu>tII时致和集合

—(Ol.f4*ormntI,a为时加

—|Pk(urcbormat

限3.5MSPowerPoint而要对象树

I.Application对象

该对算代表PowerPoini应用程序,它拉当了所仃程序对象的容器,相节于

PowerPoint的性体・

AclivcPrcscntalion属件:返回Presentation对象.代々活动窗I」中打开的演示

文稿:Presentations属性:返回Presentations集合,代表所有打开的演示文稿:

SlideShowWindows属性:返回SlideShowWindows集合,代表所有打开的幻灯片

放映窗口:Quit方法:用于退出PowerPoint程序.

2.Presentation对象

该对象代表演水文稿,为了使用演示文稿,需要告诉PowerPoint要用哪个演

示文稿.仃三种方式指定Presentalion时象:使用Presentations对象,使Hj

ActivePresentation对象•和使用PresentationA性。

FullNamc属性:返回演示文稿的完整路径,包括郸动器和文件夹名称:Name

属性:返回演示文稿的名你:Slides属性:返回一个Slides对象.这个Slides对象

包含演示文稿中幻灯片对象的页面仃关俗息.SlidcShowScttmg屈性:用于获得演

示文稿中幻灯片设置的仃关信息.TitleMaster属性•用于确定演示文稿的标题母版.

VBASigned属性,表示演示文稿是否采用数字签名.

AddTilleMaster//法:用于为演示文稿增加标题母版,ApplyTcmplalc"法:

用户对某个演示文稿应用战板.Close方法:用于关闭演示文稿.Save方法:用于

保存演示文稿.SaveAs方法:用于将谕示文稿另存为到新的文件.

3.Slide对象

该对望代我演示文稿的幻灯片.通过Slide时©所提供的各种属性方法可以完

成设置幻灯片布局、指定切换效果以及从演示文稿中复制和删除幻灯片等操作.

可通过幻灯片的索引从SIides对象中指定特定的SIide对象.

Background属性:返回幻灯片的背景。Lo>t)ut属性,用「标识某个幻灯片的

伤局.Name属性,能够得到或修改某个幻灯片的名称.Shapes属性,返E1一个

Shape,集合。SlidcID属性:返回幻灯片的唯一标识符。SlKlelndcx属性:返回幻

灯片在Slides集合中的检索号。SlideShowTransition属性:返回一个代表已经应用

到幻灯片上的切换特效的时象.

Copy方法:用广把一个幻灯片复制到剪贴板。Pasic方法:使得把己经被复制

倒I剪贴板中的幻灯片粘贴到另外一个演示文稿中・Cut方法,剪切一个幻灯片到电

贴板。Delete方法:删除指定的幻灯片.Add方法:添加一张新的幻灯片.Select

方法:选择指定的幻灯片.

4.Shape对象

该对象代表绘图层中的对象,例如标题、文本、图片、图像、表格等.VBA

把每个这样的元素都行成一个Shape对象.

指定Shape对象仃三种方式:Shapes集合,代表文档中的所仃形状,可用索

引或者名称来指定特定的Shape;ShapcRangc集合.代收文档中指定的部分形状:

Shape属性,代表文档中的单个形状.

Animationscttings属性:用于,A得指定形状的AnimationSctlings时象。Height

属性:用于获得指定形状的高度。Tabic属性:返回指定形状的Table对象。TexiFramc

属性:用于得到指定形状的TexiFrame区域。

AddLinc方法:用于将一条直线添加到一个幻灯片中。AddMcdiaObjccl方法:

把一个多媒体文件添加到指定的幻灯片中。AddOLEObject方法:把一个OLE时

象添加到指定的幻灯片中。AddPiclurc方法:把个图片添加到指定的幻灯片中。

AddTablc方法:将AuloShapc添加到指定的幻灯片.AddTcxlBox斤法:把文本框

添加到幻灯片中。ADDTitlc方法:向一个幻灯片添加标题,

333在PowerPoint中VBA编程的使用与操作

VBA的全称是VisualBasicibrApplications,其意思是开发环境被整合到/,某

个应用程序的VisualBasic语言冈.在本论文中特指整合在MSOOkc中的VBA.

在PowerPoint界面中进行VBA编程仃两种方式:录制宏和在VisualBasic编辑器

中直接编程。录制宏是将一系列操作过程求卜来并由系统fI动转换为VBA语句.

并保存为一个宏文件。如果操作者需要再次执行与录制的宏完全相同的一系列操

作,只需运行刚刚录制完成的宏即可,大大地缩短了操作时间,并可以实现日常

工作的白动化.如果要对PowerPoint进行更好的二次开发,必须采用第二种方式,

即直接在VisualBasic编辑翳中进行编程.

在这里,先介绍一下PowerPoint控件,我们经常看到高手做的多媒体课件中

都有许多的按钮、文本框、选项框等之类的工具,使用这些工具会令课件更具有

可操作性、交互性等特点.在PowerPoint中,同样提供了一组这样的工具(ActiveX

控件)。所谓ActiveX控件就是一种1%形对象.可以使用它在PowerPoint演示文稿

中控制一组预定义的事件(或执行一段程序代码).

显示控件工具箱:在PowerPoint中选择菜单“视图・>工具栏。控件匚具箱”,

则“控件箱,’就公出现在PowerPoint如图3.6控件工JI框所,jL前

两项分别是控件的属性和食4代码。常见控件仃支选框(ChcckBox)、文本框

(TcxlBox)、命令按dl(Com:nandBuilon)、选项按钮(OplionBullun)和林然(Label)

图3.6控件I.具箱

1.扇动VBA编辑器

当我们双击Powerpoint幻灯片中任一控件时,随即打开VBA编辑器(或者点

击菜单:工具,宏。VisualBasic编辑器)・如图3.7,VBA编辑器分为:菜单区、

I:程资源管理区、控件代码编辑区.

YBA娘辑器的

装单

图3.7VBA编辑瑞

I:程资源管理器,L要列出每•页幻片(如果该幻灯片存在控件的话,如e

$lidcl,$lidc2,$lidc3...)、窗体、模块等对软伤息.所仃列出的依息都以“对象”来

称呼.

控件代码编辑窗口,当在幻灯片设置了某个控件,双击控件时,即可打开

相应控件的代码编辑窗口,化相对应的事件里检入VBA程方代码。如图3.7所小

为输入Click。郭件代码.

VBA编辑舞的菜单,包括文件、编辑、视图等可根据功能的不同进行使用.

2.录制宏

如图3.8所示为录制宏的流程。首先出动PPT,在PPT工具栏中选择视图0

kf-.泉制新宏,进行想耍的操作,然后停止录制,如需继续录制则继续重

N录制宏操作,最石作宏收作厅所时应的vb代码进行参考,提取函数.

图3.8PPT中执行宏流理图

3.3.4C++Builder中时服务罂的访问技术

C++Builder开发C把PPT『I动化对象的功能包装在F面所示的变体Variant

的四个OleObjectClass函数中,应用开发人员可以很fj便地进行调用:

(I)VariantVariant::OlcPropcriyGct(属性名,参数..):

(2)VoidVariant:zOkPropcrtySct(属性名.参数..):

(3)VariantVarianliOlcFunclion(函数名,参数..):

(4)VbidVariant::OkProccdure(过程名,参数..):

第一个函数用来获取对象的属性,以便进一步操作:第二个是用来设置相对

应的属性值:第三个函数是用来执行对象的方.法,并可返回相时应的值。第四个

底敷用于执行对号的方法并且没有返回值.在这些方法中,如果需要输入参数则

写在后而,参数间用过号分隔.最多支持io个参数.以卜.是一段示例代码:

VarrnntPptApp,AclivcPrcscntation.Slide;

PptAppVununl::CrciHcObjcct("Powcrpoinl.Applical»on"):

PptApp.OlcPropcrtySel(MVisible",lrue);

ActivePrcsenlationPplApp.OlcFunctionC'Opcn,\"l,':Vtcsl.pptM):

Slide=ActivePrcsenlation.OlcI,unction("Itcni".2);

Slide.OieProccdure("Delete");

在这段代码中•首先根据组件的ProgID创建了相时应的对象,这里为了创建

启动某一组件必须在注册表中事先找到该组件的ProgID。在VBA中使用了与此极

为类似的方法,可以在BCB中建立与之--对应的关系。然后打开一个路径为

“F:\Mcst.ppt”的PPT文件.并执,行胴除K第二页的操作.

为了表明从VBA语言到BCB语言的映射关系本文试举•例如下:

VBA代码是:

PplApp.AclivcPresenlalion.Slides.Add(lndcx:=2.Layout:=ppLayoutText)

对应的BCB代码是:

PplApp.OlcPropcrlyGcl("AclivcPrcscnlalion").OlcPropcrlyGcl("Slides").

OleFunction(MAdd,*,2,ppLayoutText);

上述映射方法很容易编制BCB中的服务器调用代码,此方法的数据类型并不

收要,因为住封装参数时使用「Variam类,这是一个可以进行任意数据类型转换

的类.

这种调用方式可以很济处地建龙同VBA语;;的映射。室实上,微软为Office

产品作为服务器提供「强大的技术支扑,一种很好的映射方式会节省很多时间。

这种调用方式简约、易读,但也因此丧失了系统的提示,不得不手工键入所仃的

参数,也包括那些不易记忆的枚举值之类的常量.

3.3.5BCB中时PowerPoint的VBA代码访问技术

在熟知了PPT中VBA的写入之后,系统还需要通过理序动态的向PowerPoint

写入VBA代码。在这垠本文来介绍如何在BCB中对PowerPoint的VBA代码模块

进行访问.

正像PowerPoint的对纹树一样,VBA编辑也有其相对的的工程属性代码.如

图3.9所示为VBA「程里.的VBE的对象集合.通过访问VBE的对象集合和具体

对象,可以在PPT中实现对VBA的代码的书写.

VB

—VBProjects________

—Addins-

-Windows-

-Codepanes]

—CommandBars

-Events-

图3.9VBE的对象集合

I.VBE中的对象集合

VBE为根对象,它包含所(孑其它可/l:VisualBasicibrApplications中表示对,象

和集合。如图3.9所示,列出TVBE包含的集合对象,可以再通过集合对象中的

具体对象来对其卜面的属性进行访问。

在开发环境的实例中,通过VBProjects集合访问具体的工程,VBProject/<.

一个具体的工程。可用VBProjccl对,象设置I:程的帐性、访问VBComponcnts集合

以及访问References合.

Addins对象提供一个外接程序相月「其他外接程序的亲合。XtfVisualBasic

VBE的实例中的外接程序管理器中列出的每一个外接程序而方,它在Addins集含

中都仃一个时象.该集合代替「在VisualBasicversion4.0中使用的ExternalObjccts

集合.

Windows包含所有打开的窗口或永久窗口集合.Windows集合有固定的窗口

集合,在集合中总是可用的,比如在工程窗口、属性窗口中,在一组代表所有打

开的代码窗口的窗口中,在设计器窗口中都是可用的。打开代码或设计器窗口.

可将一个新成员添加到Windows集合・血关闭代码或设计器窗口,可从Windows

集合胴除一个成员。关闭一个永久开发环境窗口并不会导致从这个集合胴除对应

的对象,但会导致此归口不可见。

CodcPancs包含VBE时象中的活动代码甯格集合.CodcPancs可用Count属性

返回集合中的活动代码窗格的数目,具体用CodePanc对象来操作CodcPane中可

视文本的位置或存代码窗格中显示的文本选抒.可用Show方法使指定的代码商格

可见.在代码在格中使用SctScIcction方法来设置选择,并使用GetSdection方法

返【可代码商格中的选抒位置.

CommandBars包含工程中的所有命令栏.包括支持快速菜单的命令栏,使用

CommandBars集合对象之后就可用外接程序来添加命令栏和控件,或是将控件添

加到现有的命令栏.

Events对象,提供IW性,使外接程序连接到VisualBasicforApplications中的

所仃事件。Events对毛提供了返回事件源对软的属性。可用此属性返回事件源对

象,就VisualBasicIbrApplications环境中发生的变化发出通知。Evenis对象的屈

性可返回。属性名相同的*j象.例如,CommandBarEvents属性返回

CommandBarEvents对■象。节在命令栏上按F一个控件时,CommandBarEvents对

您将触发一个事件.

2.VBProjcct的时象树

VBProjccI

——EilcNamc

——Name

Protcctior

—Saved

Type

图3.10VBProjcct的对象树

如图3.10所示为VBProjccl的对象树。我们可以访问VBProject的对象及其屈

性.FileName属性返回匚程文件或主文档的完整路径名.匚程除文件名之外没有

其它的名称.所返回的路径名总是完整路径(例如HC:\\Projects\\myProject.vba").

就算是显示为相对路径(例如L.WProjectgmyProjecLvba")也是如此.

Name属性用来返网或设置活动的T程的名称。

Prolelion返回一个值,指示一个工程的保护状态,此属性为只读.返【可值为

Vbexllocked.表示指定的匚程是被锁住的:Vbcxl_ppnone则表示指定的I.程并

没有被保护.

Saved返回一个Boolean型值,指示对象自上一次保存后是否被编辑过,此属

性为可读力.返网值为True.我示门上一次保存后的对象没仃被编辑过:返网值

为False则表示自上一次保存后的对象被编辑过。

Type返卜”VBProject的类型。

VBComponents代衣工理中的部件,使用VBComponcnls■•在工程中访问、

添加和删除部件。部件可以是窗体、模块或类。VBComponcnls集合是标准集合,

可以在EorEach块中使用.

CodcModulc对象用来修改(添加、删除、编辑)与部件相美联的代码。每个

部件都与一个CodcModule时象相关联.恒是.一个CodcModule对号.可以与多个

代码窗格相关联.。CodeModule对象相关联的方法,能操作并返回仃关逐行代码

文本的信息。例如,可用AddFromSlringfj法将文本添加到模块中.AddFromString

将文本放在第一个过程之上,如果没仃过程,则将文本放在模块尾端,K卜层仃

Codepane»CoutOfDeclarationLines«CoulOfLincs川Name等树性。

Codepane表示代码窗格.用CodcPanc对象来操作CodcPanc中可视文本的位

置或在代码窗格中显示的文本选择.可用Show方法使指定的代码窗格可见.在代

码窗格中使用SetSelection方法来设置选择,并使用GclSclcclion方法返回代码前

格中的选择位置.CoutOfDcclaralionLincs返【可一个Long类型的数,它包含代码商

格中可见的代码行数。CoulOlLmcs返回一个Long类型的数,它包含代码模块中

的代码行数.Name返[可CodeModule的名称.

Designer返•个可以访问部件设计特征的对象•如果该Xj象仃,个打开设:I

器,Designer屈性可返回该设计器:否则便可创建一个新的设计器。这个设计器

是某一个特定VBComponent时象的特征.愕如,当创建义一特定类型的

VBComponent对象,一个设计器可伴随若此对象而创建。一个部件只能仃一个设

计器,而且通常都是同一个设计器。可以访问具仃Designer属性的指定部件对每。

在某些情况下,例如在标准模块及类模块中,设计器将不可被创建,因为这种类

型的VBComponcnl拶象并不支持设计器。如果VBComponcnl时象没有设计一器的

话,Designer属性可返回Nothing.Designed返回一个ActiveX设计器,是只读届

性。

Name返网或设置VBComponent名称。但是不能将Name属性设置成一个已

经被使用或无效的名称.

Type返卜”VBComponcnl类型的名称.其返回值如表3.3所示.

校3.3VBConponenl的类量及描述

Type描述

X^bexlctClassModuk类模块

SextetMSFormMicros。化甯体

VbexlctStdModule标准模块

3、VBE方法

Mcrosoft还提供「许多操作时象和集合的方法,通过对集合和属性的方法

调用,从而实现操作VBA模块和窗体的控制。VBE中的方法如我3.4所示。

衣3.4VBE的方法

方法功能备注

Add将•个对象添加到集合ob)ect.Add(coinponem)

对于References集合,此AddFromFik方法可在代码模块

方法添加一个从文件到工程的第一个过程之前的行开始插入文件的

AddFromFik引用.对『CodeModule对象.内容.如果模块没仃包含过程

此方法添加文件内容到模块AddFromStnng文件的内容放置4模

中.块的最后,

AddRromString方法,上相似,只

/XddFromString功能叮AddFromFik相同是一个从文件中添加,一个从字符小

添加.

对广•个代码商格的窗口,Close

方法可撤消此代码窗格.对于一个设

计器的窗口,Close方法可撤消包含的

Close火闭并清除•个窗口

设计器.对于在“视图”菜单中•直

可见的窗II.Close方法可将其脸藏起

来.

使用CreateEventProc方法来创建

一个小件过程.例如,欲为名为

ComnundlCuminandButtonf;»f|创

CrcateEventProc创建一个一件过程

建Click并件过程、可以用以下的代

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论