利用coreldraw vba开发宏程序绘制地图.doc

利用coreldraw vba开发宏程序绘制地图.doc

ID:17904868

大小:42.00 KB

页数:4页

时间:2018-09-09

利用coreldraw vba开发宏程序绘制地图.doc_第1页
利用coreldraw vba开发宏程序绘制地图.doc_第2页
利用coreldraw vba开发宏程序绘制地图.doc_第3页
利用coreldraw vba开发宏程序绘制地图.doc_第4页
资源描述:

《利用coreldraw vba开发宏程序绘制地图.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、利用CorelDrawVBA开发宏程序绘制地图上海测绘院第四分院钟炜摘要:CorelDraw软件为用户提供了VBA编写宏程序的开发环境,用户可以编写宏程序来让计算机自动完成一系列的操作,从而达到减轻工作量的目的。这个技术也可以用来解决在地图绘制领域普遍存在的一些问题。本文通过两个实际例子,介绍了CorelDrawVBA的基本情况和对象模型,以及这个工具是如何解决问题,提高生产效率的。关键字:CorelDrawVBA地图绘制1、问题的提出在目前的地图制作领域,我们主要使用的软件是Corel公司的矢量绘图软件CORELD

2、RAW。CORELDRAW被大量应用于广告设计和制图领域,美观是用CORELDRAW绘制的地图的最大特点。由于地图相对于其他矢量图片的特殊性,在使用CORELDRAW进行地图的绘制时,我们往往会碰到一些问题或者可以改善的地方。在这里我们可以举两个例子来说明这类问题。第一个例子是在制作专题地图中,某一专题的符号已经设计好,但是由于客户的原因,这个设计需要更改,这时工作人员在CORELDRAW上要进行的操作就是在图上找到每个专题要素的位置并把新的符号放上去。而如果这个专题要素的量很多的话,这个工作是费时费力的。第二例子,

3、我们知道,在地图制作中我们经常利用数据,也就是对已有的矢量图片进行编辑。数据的来源不一,质量也有好有坏。如果在数据中有重复的物件,肉眼从图面上也发现不了,要想清理掉重复数据只能从物件列表中一一判断,这个工作是相当烦琐的。解决这一类问题的途径之一是使用CORELDRAW为我们提供的VBA开发环境来编写一些宏程序,让程序来帮助我们完成工作。2、CorelDrawVBA简介VBA,(visualbasicforapplications),是一种标准宏语言。VBA提供了面向对象的程序设计方法,提供了相当完整的程序设计语言。它

4、作为一种通用的宏语言可被所有的Microsoft可编程应用软件所共享,使可编程应用软件得到完美的实现。VBA是基于VisualBasic发展而来的,它们具有相似的语言结构,它们的集成开发环境IDE(IntergratedDevelopmentEnvironment)也几乎相同。二者不同之处在于:利用VB我们可以编写出独立的windows可执行程序(exe文件),而在使用VBA时我们必须在一个宿主软件中调用我们所编写的程序。CORELDRAW从6.0版本即支持宏命令(Marcos),但直到9.0版本它都主要使用它自己特

5、有的CORELSCRIPT语言进行宏命令的编写。1998年,COREL公司作出战略性决定,决定在CORELDRAW9.0中引入VBA,这使CORELDRAW立刻得到了很多VBA开发者的喜爱。但是在CORELDRAW的9.0版本中,针对VBA的对象模型并不很完善,这很大程度地限制了利用VBA对CORELDRAW的开发。在10.0以后的版本中,情况得到了彻底的改善,在11版本后的VBA环境已经非常的成熟,用户可以用CorelDrawVBA很轻松地调用CORELDRAW的现有功能,也可以利用CorelDrawVBA来调用C

6、ORELSCRIPT语言来实现一些特定的操作。为了让读者更好地理解CorelDrawVBA是如何调用CORELDRAW功能,在这里我们介绍一下在解决文中的两个示例问题时我们用到的CorelDrawVBA的对象模型:ApplicationDocumentsDocumentPagesDocumentsApplicationDocumentLayersLayersLPageShapesLayerShapeRangeProperties3、如何使用CorelDrawVBA以CORELDRAW12为例,我们要想使用CorelD

7、rawVBA开发的宏命令,首先要把宏命令程序文件(.gms文件)存到“CORELDRAWDrawGMS”中,之后我们在只CORELDRAW按下“工具→VisualBasic(V)→播放”键,就可以看到宏管理器的窗口,在此窗口下我们可以很方便地运行和管理宏命令。4、问题的解决:在分析问题和操作流程后,就可以通过编写成宏程序,让计算机进行批量的操作,实现自动化处理。上述两个问题,我们可以通过以下程序解决。程序的关键代码如下:1.符号替换问题ActiveDocument.ReferencePoint=cdrCente

8、rActiveDocument.BeginCommandGroup"Replace"ForEachsInActiveLayer.ShapesIfs.Type<>cdrTextShapeThen//不对文字进行操作s.GetPositionx,ys.DeleteActiveLayer.Paste//删去旧的符号,贴上新的DimPaste1AsSh

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。