PROE产品的设计结果动态集成发布系统总体设计方案.docx
PROE产品的设计结果动态集成发布系统总体设计方案随着办公自动化的发展,在产品设计之后拥目大量的数据。当这些数据需要应用到制造、使用和维护等阶段时,一方面常常因为数据格式等原因,需要浪费大量的时间对这些数据进行加工.另一方面这些模型等信息往往比较大从而造成资源的浪费。为此Pro/E产品设计结果动态集成发布系统的设计目标是:、系统面向产品全生命周期的需要,通过树形目录结构,可以对各种用指导产品制造、使用和维护的信息进行集成:二、脱离产品模型的设计环境,发布和显示这些信息并且对某些模型文件进行轻量化处理.总之,系统的目标是将设计结果信息进行合理的集成,并且具有三维浏览功能,为恰息集成制作者提供最便利的集成环境。2.2 系统的基本策略与设计思想2.2.1 基本策略本系统基JBorlandC+Builder6开发,借助OflicePowerPoint的你大数据处理功能,实现了时数据伯息的集成:借助Pro/E及其次开发,实现了:维模型的构建以及模型信息提取与轻量化:通过对PrOdUCtVICW的嵌入和开发,实现了脱离原有三维模型处理环境,也可对三维模型进行正确的浏览.最后利用HTM1.语百,实现了工程的发布,得到三维电/交互手册。2.2.2 设计思想系统的基本设计思想如图2.1所示:系统有两个工作阶段,即设计阶段和应用阶段.设计阶段的主要任务是在Pr。/E软件中基于产品的三维模型,构建用于指导加工、装配、使用和维护的视图和动画,并通过动态太集成发布系统,困绕产品目录树,将这些素材与文字、图片等元素集成在一个设计手册工程文件中:应用阶段的主要任务是将设计阶段的设计手册信息转换为HTM1.文件和轻量化的模型,并在应用端通过IE浏览器显示设计手册的目录树、页面和模型,加工、装配和维修人员可以通过IE浏览器快速直找所需的页而,对模型视图进行实时交互,了解设计人员的设计意图。2.3 系统功能描述产品设计结果动态集成发布系统的提出,是为了有关信息的集成,并最终发布成电子手册。对于估息集成传统的交互手册上要以文字、图片等方式对加工、装配、使用和维修过程进行说明,并且耗时耗力.本系统的开发主要提供了信息的迅速集成,并且支持模型三维访问.其主要功能仃:(1)产品目录的树形结构管理通过树形结构管理产品说明书的目录,将产品说明书与相关的模型文件有机联系在一起,包括:产品目录树的管理、H录在点与模型文件的关联与树。点信息的点击陵览.(2)手册页面制作对产品目录树中力点内容进行编辑,包括: 页面管理:新增、删除页而: 文本框管理:文本框插入、文本输入、文本位置/字体/颜色/大小等的设置: 片管理:图片插入、片大小和位置设置: 视频管理:视频插入、视频大小和位置设置、播放控制: :.维模型管理:Pro/E模型插入、视图选抒、序列动画播放、模型缩放等: 显示顺序管理:设置页面、文本、图片、=维模型的播放顺序。(3)快速检索资料以模糊行询方式对手册中的资料进行检索,包括:检索(IndCX)资料与搜索(Search)资料。(4)发布将于册目录和页面发布为HTM1.格式,并对涉及的模型文件进行轻量化和打包处理,最终将手册发布为一个独立的目录结构。(5)手册使用基于IE浏览器,浏览发布后的HTM1.文件(手册)。2.4系统模块组成Prcfu11li!里基动套:成发G条优西电交|页而Igl小拿引胤。搜寡河Iv-IPIIIHI浏IgllI女坟联nll映页而lllllMc史件做|«功IfflIWIN快邂llBlllfi-l.乂不也ll世llllIWlltelIIll杵Itf盾lUlAI);III¾II¾IDQllql而增VA-lltliRI堆Xm-I房保lx月打开-Ietf½xW慢操M向Hi方V*校状修图2.2系统的模块组成2.4.1 系统管理系统管理模块主要负责对工程的操作和系统的操作,主要包括新建工程、打开工程、保存工程、关闭工程和退出系统。系统启动后,首先要做的就是进行工程的操作,这里新建工程时会自动生成系列目录和文件以便接卜来的处理:保存工程时会保存一系列的文件和目录,这里包括工程文件、PPT文件和网页文件等.2.4.2 H录树管理目录树的管理模块主要是对树节点的操作,包括新增节点、修改节点、删除力点、节点内容、删除点内容以及黄点的搜索检索功能。树节点的设计大大方便了制作者的工作,并且使信息有效合理的集成起来。树节点可分为两种用途:一是树后点可以关联大员的树打点信息:二是可以用来组成黄点目录的结构.其中新增“点、修改0点和删除他点是用来实现对节点的操作,节点内容和删除节点内容可以实现节点与节点内容的关联.2.4.3 节点内容管理节点内容管理模块主要是对节点内容的整合,包括页面集合管理、页面内容编辑和预览三大功能.其中页面集合管理包含了对页面的新建一页、版式选择和删除页功能;页面内容褊辑就是对信息的载入,其中包括文本框、模型、图片快照、视频、NC文件和动画等内容:预览功能可以实现对当前3点内容的放映,模式有开始放映和n动放映两种。节点内容管理模块的设计实现了半点内容的编辑,为制作者提供了一个简易的编辑环境。从而根据需要为节点添加页面和页面内容,并且提供了节点内容放映功能。制作者可以对编辑好的节点内容予以放映攸览。2.4.4 系统发布系统发布模块主要是对己编辑好的内容结构树、页面集合和页面内容进行基于HTM1.的网页发布.从而发布成三维电子交互手册.网页发布模块的设计实现了系统编辑内容的网页发布,并且包含了科模型文件的轻量化和打包处理,最终将手册发布为一个独立的目录结构。当制作者把此文件目录支给任意用户时,用户便可以对此网页下册进行浏览和使用.2.4.5 手册预览手册的预览模块上要是耐制作的三维电子交互手册的浏览.因为本系统是基FIE进行发布的,所以系统文件需要应用IE浏览器才能进行于册的预览和使用。图2.3所示为网页的层次结构,其主要内容有目录树、页面组和页而内容目录树包含了许多的节点内容,每个节点内容仃式相对应的页面组,页面组里的每个页面包含了产品设计结果伯息,包括文本框、三维模型的视图方向、图片快照、动画视顼、NC文件等图2.3网页的层次点构2.5系统总体工作流程图2.4系统总体的I.作流程Pro/E产品设计结果动态策成发布系统的基本工作流程如上图2.4:(1)构建产品的:维模型由结构设计人员使用Pro/E软件,构建产品的三维设计模型:(2)制作输出内容设计人员根据后期的使用要求,基于之前建立的三维模型,在Pro/E环境卜.,完成一系列视图、标准、动画等的制作,用于对产品的加工、装配、使用、维修进行指导:(3)制作三维手册利用本项目开发的三维电子交互手册软件系统,编写基于三维模型的产品说明书,建立手册的目录、页而、文本、插图、视频、模型等内容,选择每个插入模型的缺行视图:(4)手册发布手册制作完成后,将其相关的目录、页面、文本、图片、视频、模型等发布为HTM1.文件,对相关的模型进行轻量化处理,集中存储到指定1.I录卜i(5)手册使用工艺、制造和维护人员在生产、维修现场打开HTM1.文件,检索其需要的目录,显示页面中的文本、图片、动画和模型,领会设计者的意图.2.6系统数据流程M2.5系统数据流程Pro/E产品设计结果动态集成发布系统的数据流程如图2.5所示.首先是结构设计工程师采用三维设计软件Pro/E构建零部件的三维设计模型、动画等:然后借用之前通过工艺设计软件建立的工艺资源库中的信息(NC文件、工艺现划、快照等),制作人员基于本论文开发的Pro/E产品设计结果动态集成发布系统建立树节点、页面组以及加载页面内容(文本、标注和预先设计好的零件模型等)。制作完成可以将工程输出成三维电子交互手册,以供使用。根据系统的设计方案,本章通过对系统构建关键技术的研究,实现了系统的功能需求。如图3.1,系统关键技术包括目录结构树的实现、页面组管理与页面编辑、搜索与索引功能和三维模型技术.结构11录树负面组管理与我的实现向内容编辑系统构建的关键技术搜索,索引:维模型的功能访问图3.1系统构建的关键技术3.2结构目录树的实现3.2.1 C+BUilder6与Ve1.组件库概述BorlandC+÷Builder&Inprise<Borland)公司推出的基于C+语言的快速应用程序开发(rapidapplicationdcvclopmcnlRAD)工具C÷÷Builder充分利用已经发展成熟的Delphi的可视化组件库(ViSUalcomponentlibrary.VC1.).吸收BorIandC÷÷优秀编译器的众多优点,结合先进的基于组件的程序设计技术.己成为一个非常成熟的可视化应用程序开发工具。C+÷Buikkr程序由两大部分构成:一部分是程序的应用界面,另一部分是程序代码。一个应用程序的界面由两部分构成:窗体及窗体上的各种组件,组件不能脱高窗体而单独存在。C+÷Builder中的组件(COmPOIWm)是用户界面上常出现的对象,例如命令按钮、文本编辑和树视图等。C+÷Buikkr不仅仃数星相当多的标准例程,还存一系列数量更多、更重要的类.其中一些是展示在组件面板上的组件类,另一些是更为通用的类。包含这些类的系统库称为VC1.(visualcomponentlibrary)可视化组件,一般分为可视组件与不可视组件。此外C+BUiIdCr中可以使用第三方提供的组件(ACliVCX控件),其使用方法与C÷÷Buikkr中的VC1.组件类似,并且用户可以使用自已开发的ActiveX组件o3.2.2 利用TTrceView组件实现结构目录树的管理内容结构树愀素I索引I恻试平台效减速箱-e箱体,箱体零件图e箱体模型e箱盖e箱造零件图。箱盖模型图-e齿轮轴e齿轮轴零件图e齿轮轴模型图O齿轮0齿轮零件图齿轮模型图-e0端盂零件图e辅篮模里图e挡油环图3.2内容树的目录结构TTrCCViCW组件是一种可视组件,用树形结构显示、编辑、删除数据项.本系统我用TTrCCViCW组件来实现内容结构树的显示和编辑.如图3.2所示,用个树形目录结构显示减速箱各部分结构的信息。表3.1列出了TTrCCVieW组件的主要属性,通过对这些属性值的控制可以实现对结构树的显示效果操作。表3.1TTreeVieW组件的主要属性属性名称意义ItemsTTreeView组件通过该砖性来存储所行数据项它的类型为TTreeNOdeSelected该属性指出当前选中项,类型为TTreeNode,如无数据项被选中,则返回NU1.1.AutoExpand该属性值true时,TrreeVMWn动展开和折登:否则,不会自动展开HotTrack该属性GitrUe时,鼠标所指数据项被加亮显示:属性值为包Se时,正常显示|Images该属性川来保存ImageIn<kx与Slectedlndex指定的图标,类型为Tlmage1.iStSliowButtons读属性值true时,TTreeVieW组件显示展开和折总的按钮Sliow1.ines该属性值true时,TTreeVMW组件显示连接父、子数据项的直线通过调用TTreeVicw组件的主要方法和事件实现对内容结构树打点的增加、修改和删除。OnChangC事件:当被选数据项发生变化后,触发该事件。OnDblC1.iCk事件:当双击数据项时,触发该事件.节点操作与实现方法如表3.2所中,TTrCCViCW组件通过其ItCmS属性,可以向该组件添加和删除数据项。增加节点使用AddChiki方法,可以向数据添加子数据。删除节点使用DeICtC方法,删除该数据项.修改打点可以通过改变其TCXt展性,从而修改节点数据项内容.节点内容的操作可通过建立与节点名称相对应的内容PPT实现。表3.2节点操作与实现方法节点操作实现方法增加节点AddChild方法,在父节点下添加了节点.删除节点Delete方法.删除该数据项.修改节点通过改变其TeXt属性,从而修改节点数据项内容。节点内容通过节点名称来建立相对应的内容PPT.3.3页面组管理与页面内容编辑的实现在产品设计结果的动态集成过程中,最为关键的就是如何将数据信息整合起来,以最便捷的方式集成.系统采用了基于POWCrPOim的应用开发,实现了页面组的管理和页面内容的编辑。借用MicrosoftPOWCrPOinl强大的数据处理功能,大大降低了应用程序开发的复杂性和成本。系统的内容结构树节点与Powerpoinl文稿所对应,通过对文稿中幻灯片的管理,实现对页面组的管理:通过对幻灯片内容的编辑,实现对页面内容的编辑。33.1COM与自动化技术在过去的这些年中,对象技术的发展路径是DDE(动态数据交换)、O1.E(对像链接和嵌入)、CoM(组件对象模型)和ACtiVCX等等SM1.在这些技术的发展过程中,始终遵循着一个思想:软件复用,使应用程序开发的复杂性和成本降低。组件技术是近年发展起来的种优秀的软件重用技术.采用组件开发软件就软搭积木一样容易,组件是具有某种特定功能的物件模块,利用它我们可以实现许多任务。COM,即组件对象模型“叱是一种以组件作为发布单元的对致模型,其功能足使各物件组件可以用统一的方式进行交互COM既提供了组件之间进行交互的规范,也提供了实现交互的环境,因为组件时象之间交互的规范不依赖户任何特定的语富,故COM也可以是不同语言协作开发的一种标准。可以说,CoM是在应用程序之间的交互技术O1.E的发展过程中产生的,而进一步的发展表明,COM所定义的组件标准的广泛性远远超过了O1.E所具仃的能力.尽管从一开始COM就具行很好的应用前景,也能很好地胜任组件化软件的模型标准,但实际进展并不顺利,其原因可能在于O1.E技术木身的复杂性.但随着软件的日益庞大和分布处理的要求,人们逐渐意识到CoM符合了当前软件业的发展需要,用COM进行软件架构是一种理想的应用方案。这促使CoM又得到了进一步的发展.并己遍布于Microsoft的各种软件产品中I动化技术是COM技术的应用,是一种重要的工业标准技术,它实现了动态的数据绑定.该技术是在考虑调用CoM对象内接I成员函数的具体实现时如何对已经存在的组件的二进制源程序代码进行标识、如何处理组件内函数的调用和参数代递、如何处理参数的检验和返【可值等问题向提出的.I动化技术使得VB等语后在不了解组件程序实现细节的情况卜方便地使用和控制自动化对象,为这些高级语在使用组件模块提供了一条有效的途径.通过自动化技术,客户访问自动化服务器提供的口动化对象,通过对这些对象属性的提取和设置、执行对软的方法和响应对象的事件等进行软件的二次开发。Il动化客户是指操作其它程序暴露的自动化时象的应用程序或编程T.具,例如用VB编写的程序或VB自身,常称为客户程序。而自动化服务器是暴或可编程时象供客户使用的应用程度,也称自动化组件.自动化服务器可以是进程内服务器,一般为D1.1.形式,也可以是本地服务器和远程服务器,股为EXE形式。门动化服务器中可以暴露一个或5个I动化对象。例如,Word.Excel.PowerPoint就分别是本地自动化服务器,它提供了许多门动化对象.这些对象之何存在着维承和派生关系,形成了树状层次结构.如图3.3所示。PPTAPP-VBEVBProjcctsVBCOnipoiienKCodcModuIc图3.3POWerPOint部分对象的名称和关系自动化客户可以创建门动化灼象,可以访问自动化服务器提供的时皎,获取或设置对象的属性或者调用对象的方法。自动化对象和门动化客户之间的交互如图3.4所示,其中的类型库是描述一个或多个对象的类型信息的;进制文件,只存储如C1.SID所支持接口的ID。接口的成员函数,成员函数的参数和返El值的类型等。参数的调用和返hl值的处理均在VARlANT范I材进行。VB可以通过对领浏览时象库中m件为象的方法和属性,也可以利用类型库进行对属性和方法的访问,避免繁琐的类型处理.自动化客户可能的掾作$创建一个新对象获得已存在对象佚也或设好对致的局件名字到楂口的映射类型冲分发操作(描述可编程对象的信息I自动化蛆件定义并暴露门动化对象图3.4自动化笈户和门动化组件的交汇.操作图3.3.2MicrosoftPowerPoint2003组件模型分析MSOnke2003是Windows环境卜功能最为完善的办公软件。本文将其视为种功能很强的服务器程序.通过对其进行二次开发,以满足我们对OnlCC的特殊需求0正确分析并完整了解整个OfTiCC的对象模型体系是理解和掌握BcB中关于服务器组件封装机制的基础。本节主要介绍PoWCrPOim的关键对象,以及适用对象Application%Presentation%Slide和Shape的属性和方法.在图3.5中描述了PowerPoint中的主要对象的对象树,其中,无星号部分代表对象和集合,仃星号部分表示此名称仅代表对象。在录制宏过程中,或者以后的VBA编程中,经常会用到PoWCrPOinI应用程序的时致。这些对象是OITiCC在应用程序中提供给用户访问或进行次开发使用.p'll4.l''11-AddI11¾<AiMInT-AnrwvrWizard-Asi!aanIAUtOCorTaF-'):Adcln-1Con>n>andBars-t)ocunntWnuious-lxu11nt11dw*|-ActiotiSeuingxTAdllb4,Uen0natioUtf(tngs-1<all<Mt<nnat"C'tn<xtorlt11atl>iaranlagnniS<Hlc!H"n.f<di'.:,、l.pln>h<na!.nkb>11maOnIiatCCrion(ci>i-SycRagcHrilcScareh二型、.-TCXtEficctlonnatTCX7l:!.ThrccDmmc一S!icc心MCj«Rgchcnx-jCM11nrnt-Design-jMaster-ShapesMshapeTl仲HTime1.incIleMRangvActionScttmysIFontTPanlgraPhFCrnMHf(cwFik-OpiotPcntatitwiPresentation"bew'intwsTPtCemUliiWlTuVieu*|Ii时常和媒合I|仅为对能I':.j'.t图3.5MSPowerPolnUR要对象树1. Application对象该对象代象P。WerPOinl应用程序,它担当了所有程序对象的容器,相当广PowerPoint的整体.ActivcPrescntationA性:A回PresentationA象,代表活动窗I中打开的演示文稿:PrCSCntaHOnS属性:返1可Presentations集合,代表所有打开的演示文稿:SIideShowWindowsft:返回SlideShOWWindOWS集合,代表所仃打开的幻灯片放映窗口;QUit方法:用于退出PoWerPOint程序。2. Presentation对象该对与代表演示文稿,为了使用演示文稿,需要告诉PoWCrPoint要用哪个演东文稿。有三种方式指定Presentation时象:使用Presentations对象,使用AcIivePresentalk)n对象和使用Presentation属性。FUHNamC属性:返回演示文稿的完整路径,包括驱动器和文件夹名称:Name属性:返回演示文稿的名称:SIidCS属性:返回一个SlidCS对象。这个SIidCS对象包含演示文稿中幻灯片对象的页面有关信息。SlideShowSetling属性:用于获得演示文稿中幻灯片设置的有关信息.TitIcMaster属性,用于确定演示文稿的标题母版.VBASignCd属性,表示演示文稿是否采用数字签名。AddTiHCMa$lCr方法:用于为演示文稿增加标题母版。APPlyTCmPlaIC方法:用于对某个演示文稿应用模板.ClOSe方法:用于关闭演示文稿.SaVC方法:用于保存演示文稿。SaVCAS方法:用于将演示文稿另存为到新的文件.3. Slide对象该对象代表演示文稿的幻灯片,通过SIidC对软所提供的各种属性方法可以完成设置幻灯片布局、指定切换效果以及从演示文稿中复制和删除幻灯片等操作。可通过幺J灯片的索引从SIidCS对象中指定特定的Slide对象。BaCkgrOlmd属性2返回幻灯片的背景.1.OyOUt属性,用于标识某个幻灯片的布局。Name属性,能够得到或修改某个幻灯片的名称。Shapes属性,返回一个ShaPCS集合.SIideID属性:返回幻灯片的唯一标识符。SlideIndex属性:返回幻灯片在SlidCS集合中的检索号.SlideShowTransiiionKft:返问一个代表己经应用到幻灯片上的切换特效的对象。COPy方法:用于把一个幻灯片复制到剪贴板。PaSlC方法:使得把已经被复制到剪贴板中的幻灯片粘贴到另外一个演示文稿中.CiH方法:剪切一个幻灯片到剪贴板。De板e方法:删除指定的幻灯片。Add方法:添加一张新的幻灯片.Sefect方法:选择指定的幻灯片.4. Shape对象该对象代表绘图层中的对象,例如标题、文本、图片、图像、表格等。VBA把每个这样的元素都看成一个Shape对象。指定ShaPC对象有三种方式:ShaPCS集合,代表文档中的所有形状,可用索引或者名称来指定特定的ShaPc:ShaPCRangC集合,代表文档中指定的部分形状:ShaPC属性,代表文档中的单个形状.AnimaIlOnSCllingS属性:用于获得指定形状的AnlmaIiunScllings对象。Height属性:用J获得指定形状的高度.Table属性:返111指定形状的Table而象0TextFrame属性:用于得到fit定形状的TextFramc区域oAdd1.ine方法:用于将一条直线添加到一个幻灯片中.AddMcdiaObject方法:把一个多媒体文件添加到指定的幻灯片中。AddO1.EobjCCl方法:把一个O1.E对象添加到指定的幻灯片中.AddPiCtUrC方法K把一个图片添加到指定的幻灯片中。AddTablC方法:将AUloShaPC添加到指定的幻灯片。AddTCXtBOX方法:把文本框添加到幻灯片中.ADDTkIC方法:向一个幻灯片添加标题。333在PowerPoint中VBA编程的使用与操作VBA的全称是VisualBasicIbrAPPIiCatiOnS,其意思是开发环境被整合到了某个应用程序的VisualBasic语旨叫在本论文中特指整合在MSOffice中的VBA0在PowerPoint界面中进行VBA编程仃两种方式:录制宏和在ViSUalBasic编辑器中直接编程.录制宏是将系列操作过程录卜来并由系统自动转换为VBA语句,并保存为一个宏文件。如果操作者需要再次执行与录制的宏完全相同的一系列操作,只需运行刚刚录制完成的宏即可,大大地缩短了操作时间,并可以实现日常工作的口动化.如果要对P。WerPoint进行更好的二次开发,必须采用第二种方式,即直接在VisualBasic编辑器中进行编程。在这里,先介绍一卜POWCrPOim控件,我们经常看到高于做的多媒体课件中都仃许多的按钮、文本框、选项框等之类的工具,使用这些工具会令课件更具仃可操作性、交互性等特点.在PowerPoint中,同样提供了一组这样的工具(ACtiVCX控件)。所谓ACtiVCX控件就是一种图形对象,可以使用它在PoWCrPOim演示文稿中控制一组预定义的事件(或执行一段程序代码)。显示控件工具箱:在PoWerPOinI中选择菜单“视图工具栏控件工具箱二则”控件工具箱”就会出现在P。WCrPOint匚作区内。如图3.6控件工具框所示,前两项分别是控件的属性和直看代码。常见控件有复选框(CheckBox)S文本框(TcxiBox)X命令按钮(COmmandBUttOn)、选项按钮(OPtionBUtton)和标签(1.abCD图3.6控件工具箱1 .启动VBA编辑者当我们双击Powcrpoim幻灯片中任一控件时,随即打开VBA编辑器(或者点击菜单:工具,宏AVisualBasic编辑器).如图3.7,VBA编辑器分为:菜单区、工程资源管理区、控件代码编辑区。YBA煽辑器的11理货激XWfJMVRD"4«XC4MI)S93UIQ.MMff"VnaCg控件代码编辑雷图3.7VBA编辑器工程资源管理管,七要列出每一页幻片(如果该幻灯片存在控件的话,如:SIidCI,slidc2,slidc3.)窗体、模块等时象信息.所名列出的倒息都以“对象”来称呼.控件代码编辑窗口,当在幻灯片设置了某个控件,双击控件时,即可打开相应控件的代码编辑窗口.在相对应的事件里输入VBA程序代码.如图3.7所示为输入CIiCko事件代码。VBA编辑涔的菜整.包括文件、编辑、视图等可根据功能的不同进行使用。2 .录制宏如图3.8所示为录制宏的流程.首先启动PPT,在PPT工具栏中选择视图工具栏宏录制新宏,进行想要的操作,然后停止录制,如需继续录制则继续重其录制宏操作,最后在宏里查看所对应的Vb代码进行参考,提取函数。图3.8PpT中执行宏流程图3.3.4 C+Builder中对服务器的访问技术C+Builder开发C把PPT自动化对象的功能包装在卜而所求的变体Variant的四个OleobjeCICIaSS函数中,应用开发人员可以很方便地进行调用:(1) VariantVariantzzOlePropertyGel(属性名,参数):(2) VoidVariant:OlePropcrtySet(属性名,参数):(3) VariantVarianciOIeFunction(函数名.参数):(4) VoidVariant:OlcProccdure(过程名,参数):第一个函数用来获取灼象的属性,以便进一步操作:第.个是用来设置相对应的属性值:第三个函数是用来执行对象的方法,并可返问相对应的值。第四个函数用于执行对象的方法并且没有返回值。在这些方法中,如果需要懒入参数则写在后面,参数间用逗号分隔,最多支持io个参数。以卜.是一段示例代码:VariantPplApp,ActivePresentation,Slide;PplApp=VarianlzrCrcateObject(,Towerpoini.AppIicatk>n);PpiApp.OkPropertySe(MVisibieM,true);ActivcPresenialion=PplApp.OleFunction("Open","FNles1.ppt"):Slide=ActivePresentalion.OICFUnCIiOn(FCm“2);Slide.OlcProcedure(''DcIcIcn);在这段代码中,首先根据组件的ProglD创建了相对应的对象,这里为了创建旧动某一组件必须在注册表中事先找到该组件的PrOglD。在VBA中使用了与此极为类似的方法,可以在BCB中建立与之一一对应的关系.然后打开一个路径为mF:Mest.ppt”的PPT文件,并执行删除其第页的操作。为了表明从VBA语占到BCB语后的映射关系本文试举一例如卜:VBA代码是:PptApp.ACIiVCPrCSCntation.Slides.Add(IndCX:=2,1.ayout:=pp1.ayoutText)对应的BCB代码是:PPtAPP.OlCPrOPCrly<icl("ActivcPrcscnlalion").OlcPropcrtyGcH"Slides").OleEunction(*,Add,2,PP1.ayOInTCXI);上述映射方法很容易编制BCB中的服务器调用代码.此方法的数据类型并不重要,因为在封装参数时使用了Variam类,这是一个可以进行任意数据类型转换的类。这种调用方式可以很清楚地建'工同VBA语彳的映射。事实上,微软为OHICe产品作为服务器提供了强大的技术支持,一种很好的映射方式会节省很多时间.这种调用方式简约、易读。但也因此丧失了系统的提示,不得不手工键入所有的参数,也包括那些不易记忆的枚举值之类的常量。3.3.5 BCB中对PowerPoint的VBA代码访问技术在熟知了PPT中VBA的写入之后,系统还需要通过程序动态的向PowerPoint写入VBA代码。在这里本文来介绍如何在BCB中对PowerPointffVBA代码模块进行访问.正像PoWerPOim的对象树一样,VBA编辑也有其相对应的工程属性代码。如图3.9所示为VBA工程里的VBE的对象集合。通过访问VBE的对象集合和具体对象,可以在PPT中实现对VBA的代码的书写.VBE-VBProjects-AddIns一一WindoWS-COdePaneS-CommandBars-Events-图3.9VBE的对象集合1. VBE中的对象集合VBE为寸象,它包含所仃其它可在VisualBasicforApplications中表示对象和集合。如图3.9所示,列出了VBE包含的集合对每,可以再通过集合对象中的具体时象来对其卜面的属性进行访问.在开发环境的实例中,通过VBProjCCIS集合访问具体的【程,VBProjCC【表示个具体的匚程。可用VBPrOjCCI对象设置工程的属性、访问VBComPOnCmS集合以及访问References集合.AddIns对象提供一个外接程序相对于其他外接程序的集合。对于VisualBasicVBE的实例中的外接程序管理器中列出的每一个外接程序而它在AddlnS集合中都仃一个对缭。该集合代杵了在VisualBasicversion4.0中使用的ExtcmaIObjects集合.WindOWS包含所仃打开的窗口或永久窗I集合。Windows集合仃固定的窗口集合,在集合中总是可用的,比如在工程窗口、属性窗口中,在一组代表所有打开的代码窗口的窗口中,在设计者窗口中都是可用的,打开代码或设计器窗口,可将一个新成员添加到Windows集合而关闭代码或设计器窗口,可从Windows集合删除一个成员关闭一个永久开发环境窗口并不会导致从这个集合删除对应的对象,但会导致此窗口不可见.CodCPanCS包含VBE时效中的活动代码窗格集合。COdCPanCS可用COlInI属性返回集合中的活动代码窗格的数目,具体用CodePane对象来操作CodcPanc中可视文本的位置或者代码窗格中显示的文本选择.可用ShOW方法使指定的代码窗格可见.在代码窗格中使用SetSeIection方法来设置选择,并使用GetSeIection方法返【可代码窗格中的选择位置.CommandBars包含工程中的所仃命令栏,包括支持快速菜单的命令栏.使用CommandBars集介对每之后就可用外接程序来添加命令栏和控件,或是将控件添加到现仃的命令栏.Events时象,提供属性,使外接程序连接到VisualBasicforApplications中的所仃事件.Events对象提供了返回事件源对象的属性。可用此属性返回事件源对象,就ViSUalBaSiCft>rApplications环境中发生的变化发出通知。EVCnIS对象的属性可返回与属性名相同的对象。例如,CommandBarEvcnts属性返回CommandBarEvents对象。当在命令栏上按卜一个控件时,CommandBarEventsXj象将触发一个事件.2. VBPruject的对象树VIProjCCtFilCNamCNalnC-ProtCCtiOnSavedTyPC图3.10VBPrqject的对象树如图3.10所示为VBPrOjCCt的对纹树。我们可以访问VBPrOjeCt的对象及其屈性.FikNamC属性返回工程文件或主文档的完整路径名.工程除文件名之外没有其它的名称,所返I可的路径名总是完整路径(例如”CNPrOjeeISWmyProjesvbaD,就算是我东为相对路论(例如”.WProjeclsmyProjecl.vba")也是如此.NamC属性用来返回或设置活动的工程的名称。PrOtCCtiOn返回一个值,指示一个工程的保护状态,此属性为只读。返回值为VbCX1.IOCked,表示指定的工程是被锁住的:Vbcxt_pp_nonc则表示指定的工程并没仃被保护。SaVed返回一个BoOICan型值,指示对象门上一次保存后是否被编辑过,此屈性为可读/写.返回值为TnIc,表示门上一次保存后的对象没仃被编辑过:返回值为False则表示门上一次保存后的时象被编辑过。Type返回VBProjCCI的类型。VBCOmPOnCntS代表工程中的部件,使用VBeomPonCnIS集合在工程中访问、添加和删除部件。部件可以是窗体、模块或类。VBCOmpOnCrnS集合是标准集合,可以在ForEaCh块中使用。CodCMOdU加对象用来修改(添加、删除、编辑)与部件相关联的代码.每个部件都与一个CodCModUlC对象相关联。但是,个CodCModUIC对象可以与多个代码窗格相关联.与COdCModUlC时象相关联的方法,能操作并返回右关逐行代码文本的劣息。例如,可用AddFromSlring方法将文本添加到模块中-AddFromString将文本放在第一个过程之上,如果没有过程,则将文本放在模块尾端。其下层有CodePanc、CoutOtDeclaration1.ines>CoUtOf1.inCS和NamC等属性Codepane表示代码窗格。用COdCPanC对您来操作CodCPanC中可视文本的位置或柠代码窗格中显示的文本选择.可用ShOW方法使指定的代码窗格可见.在代码窗格中使用SetSeIection方法来设置选择,并使用GetSelection方法返回代码窗格中的选择位置。CoUtOfDCClaraIiOn1.inCS返Isl,个1.Ong类型的数,它包含代码窗格中可见的代码行数.C。UtOl1.mCS返回一个1.Ong类型的数,它包含代码模块中