VB结合excel进行数据处理和绘图的工程应用.pdf

返回 相似 举报
VB结合excel进行数据处理和绘图的工程应用.pdf_第1页
第1页 / 共3页
亲,该文档总共3页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述:
第3 3 卷第 6 期 西南民族大学学报 自 然科学版 J o u r n a l o f S o u t h we s t Un i v e r s i t y f o r Na t i o n a l i t ie s Na t u r a l S c i e n c e E d i t i o n 文章编号 1 0 0 3 - 2 8 4 3 2 0 0 7 0 6 1 4 2 2 0 3 V B结合 E x c e l 进行数据处理和绘图的工程应用 李斌华,刁明军,文俊,方旭东 . 四川大学水力学与山区河流开发保护国家重点实验室,成都 6 1 0 0 6 5 摘要论述 了 VB程序设计语 言与 E x c e l 软件相结合,成功地 解决 V B在数据 处理及 自动绘 图方 面编程难度大、开发 效率低的难题.并以水库溃坝计算程序的编制过程为例,不仅实现了在 VB内部调用 E x c e l 进行数据处理及 自动绘图功 能,而且还调出E x c e l 自动生成的图表并显示在 VB的表单中. 应用V B与E x c e l 相结合处理大批量图表数据, 其优点更 为显著.可大大的提 高工作效率. 关键词 V i s u a l B a s i c V B ; E x c e l ;溃坝计算 中图分类号 T P 3 9 1 文献标识码 A V i s u a l B a s i c 简称 V B 是常用的应用软件开发工具之一, V B以其简单易学、 效率高, 图形界面丰富等特点受 到了不少编程人员的喜爱. 在用 V B开发实际工程软件时, 我们常发现 V B在数据处理及自动绘图方面不方便, 编程难度大且开发效率不高等难点. 如计算水库溃坝坝址下游洪水的演进过程时, 就必须利用溃坝水力学对溃 坝过程做大量数值计算, 绘制大量关于水深过程线、 流量过程线的图表. 如能采用直观、 明了的图表反映坝址下 游各点的洪水演进过程, 能方便专家对溃坝影响的讨论、评价. 但在 V B 中用数据处理控件 如Mi c r o s o ft Da t e G r i d C o n t r o l 6 . 0 OL E D B 、Mi c r o s o f t D a t e L i s t C o n tr o l 6 . O OL E D B 、Mi c r o s o f t F l e x Gr i d C o n t r o l 6 . 0等 处理 数据和制作图表时, 所提供的图表格式难以修改, 功能非常有限, 后序操作性也很差, 往往不能满足设计人员要 求, 给应用软件的维护带来极大的不便. 因此, 拓展 V B在编写数据处理及自动绘图方面的应用软件具有重大的 意义. 【 l 】【 】 E x c e l 集表格、函数、 数据库和图文信息于一体, 是一个强有力的信息分析和处理工具. E x c e l 是办公自动化 常用软件之一, 一般的用户对它都比较熟悉. 如果能在 V B开发的应用程序中, 使其具有 E x c e l 的界面和功能, 这样用户使用起来将更为方便、 得心应手. V B与 E x c e l 有机地结合在一起, 在 V B中利用 E x c e l 的强大数据处理 和绘图功能来实现图表的设计及打印, 必将解决实际工作中遇到的一系列问题. 本文正是基于此, 尝试将 V B和E x c e l 结合起来, 实现 V B内部调用E x c e l 进行数据处理及自动绘图功能, 然 后, 再用 V B调出E x c e l 自动生成的图表并显示在 V B的表单中. 1 E x c e l 常 用对象 为了在V I3 应用程序中调用E x c e l , 必须要了解E x c e l 对象模型. E x c e l 对象模型包括了1 2 8 个不同的对象, 从 矩形、 文本框等简单的对象到透视表、 图表等复杂的对象, 以下将 V B调用 E x c e l 的最常用对象作一简要介绍. 13 】 f 1 Ap p l i c a t i o n对象 A p p l i c a t i o n对象是E x c e l 对象模型的顶层, 表示整个 E x c e l 应用程序. 在 V B 应用程序中调用 E x c e l , 就是使 用 A p p l i c a t i o n 对象的方法、屙l生 和事件, 因此, 首先应声明对象变量 D i m e x c e la p p As O b j e c t 在声明对象变量之后, 可用 C r e a t e O b j e c t 函数或 G e t O b j e c t 函数给变量赋值或引用已存在的A p p l i c t i o n 对象. 如调用 C r e a t e O b j e c t 访问已存在的对象的程序段 收稿 日期 2 0 0 7 - 0 9 一 1 0 作者简介李斌华 1 9 8 2 . , 男, 四川大学水力学与山区河流开发保护国家重点实验室硕士研究生 第 6期 李斌华等 V B结合 E x c e l 进行数据处理和绘图的工程应用 1 4 2 3 Se t e x c e l a p pC r e a t e O b j e c t ” e x c e 1 . a p p l i c a t i o n ” 2 Wo r k b o o k对象 Wo r k b o o k对象直接隶属于 Ap p l i c a t i o n对象的下层,表示一个 E x c e l 工作薄文件. Wo r k b o o k对象的集合则构 成 Wo r k b o o k s 对象. 可以通过 Wo r k b o o k s 集合或表示当前活动工作薄的 A c t i v e Wo r k b o o k 对象访问 Wo r k b o o k 对 象. 3 Wo r k s h e e t对象 W o r k s h e e t 对象包含于 Wo r k b o o k 对象中, 表示一个 E x c e l 工作表. 可以通过 W o r k s h e e t s 集合来访问、 激活 、 增加、删除、更名工作表. 4 R a n g e 对象 R a n g e 对象代表工作表的某一个或多个单元格. 5 Ce l l s 对象 C e ll s 对象包含于 Wo r k s h e e t 对象中, 表示 E x c e l 工作表中的一个单元格. 2 工程应用实例 在 V B应用程序中{ J J 用 E x c e l, 实质是将 E x c e l 作为一个外部对象来引用, 即从 V B应用程序内部操纵 E x c e l 提供的对象模型以及其相关的方法 、屙 I生和事件. 1 从 V B输 出数据到 E x c e l ,并 自动绘 在溃坝计算程序中, 假设已经计算出溃坝过程坝址下游洪水演进的流量与距离关系函数数据 用两个一维 数组存储, 即 q m x O 下游各点的流量数组 、 j s x 0 - 9 1 ta k T游各点距离数组 , 在本工程文件夹中新建一个 E x c e l 表格 c 瞬问全溃坝. x 1 s ” ,指定数组输 出的位置,用 E x c e l 绘 方法,在工作表 上设定好绘 【 过程 如图 1 .用 VB程 序调用 E x c e l 并输出数据, 具体程序段如下 P r i v a t e S u b Co mma n d 1 一C c k Di m e x c e l a p p A s O b j e c t 声明 E x c e l 对象 Di m d o c u me n t s A s Ob j e c t Se t e x ce l a p pC r e a t e Ob j e c t ” e x c e 1 . a p p l i c a t i o n ” - 弓 l 用已 存在的对象 e x c el a p p . wo r k b o o k s . o p e n F i l c Na mc Ap p . P a t h ” \ 瞬『 日 J 全溃坝⋯指 定表格路径 e x c e l a p p . Vi s i b l e T r u e 使打开的 E x c e l 是可见的 e x c e l a pp 一 .S h e e t s ” S h e e t l ” . c e l l s 1 , 2 ” 离坝址 距离 x 1 O 0 0 m ” e x c e l a p p . S h e e t s ” S h e e t l ” . c e l l s 1 . 3 ” 流量 1 0 0 0 , n 3 t s 制作表头 F o r 1 1 0T o 1 0‘ 向 E x c e l 表格输出数据 e xc e l a p p . S h e e t s ” S h e e t 1 ” . c e l l s 21 1 , 2 .i s x 1 I / 1 0 0 0 e x c e l a p P . S h e e t s ” S h e e t l ” . c e l l s 21 1 . 3 q mx 1 1 / l 0 0 0 n e xt I n d SI l b 运行上面的程序后,计算数据将输出到“ 瞬问全溃坝. x l s ” E x c e l 表格 中.E x c e l 根据没定好的绘图过程 自动绘 制坝址下游的洪峰流量关系曲线 见 2 . 图1 2 将 表显示在 V B表单上 哇i ” j 蚬 址 下 赫 旨 嵌 峰 最 量 眭 蛀 峰 晨 平 式 j I O 5 7 l 0 6 2 5 5 6 6 ; I l ; l 3 4 Z 4 8 0 5 6 , Z 7 7 4 { t 『 5 3 5 l 1 3 I 9 3 , \ 、 。 1 1 0 2 5 甜 I { 3 ‘ ~ 。。 ~ ~~ I J 4 0 L 3 2 { 3 3 T 3 l 1 g t , l I I ∞ ” 距 . 图2 1 4 2 4 西南民族大学学报 自然科学版 第3 3卷 为了在计算程序表单上直接看到溃坝计算过程, 我们应该把 E x c e l自 动生成的图表再调到 v B表单 卜 示 在 V B中, 一般用 I m a g e 或 P ic t u r e 控件装载、卸载图片 . 在 V B表单上新建一个 P i c t u r e I 控件, 并将 表装载 到 P i c t u r e I 控件中. 具体程序段如下 P r i v a t e S u b Co mma n d 2 一C l i c k Di m My e x c e l As Ob j e c t ‘ 声 明 E x c e l 对象 S e t My e x c e lC r e a t e O b j e c t ” e x c e 1 . A p p l i c a t i o n ” ‘ 引用已 存在的对象 My e x c e 1 . w o r k b o o k s . o p e n Ap p . P ath” \ 瞬『 口 J 全溃坝 x Wi t h A c t i v e Wo r k b o o k利 用粘贴板渎取 e x c e l I } J 的 片 My e x c e 1 . Wo r k s h e e t s ” S h e e t l ” . R a n g e ” d l i l 3 ” C o p y P i c t u r e 1 . P i c t u r eC l i p b o a r d . G e t D a t a ‘ 将剪切板内容加载到 P i c t u r e l 控件中 C l i p b o a r d . C l e a r ‘ 清空剪切板内容 E n dWi t h My e x c e 1 . Qu i t 退 出 E x c e l E n d S tJ b 运行以上程序, E x c e l 工作表内的图表就显示在 V B表单中了 见 3 幽3思 兰 百 本程序将 V is u a l B a s ic 计算机语言和办公自动化软件 E x c e l 有机的结合在一起, 实现了对溃坝过程洪水曲线 的自动化绘制, 不需要再编写繁杂的 V B语句来实现一步步的绘 『 女 日 定义坐标系、 绘制坐标曲线、绘制坐标 刻度等等 , 使工程设计人员从繁琐重复的工作中解脱出来, 解决了 V B在数据处理及 自 动绘图方面编程难度大、 开发效率低的难题, 便于图表的设计和打印. 在工程的实际运用中, 应用 V B与 E x c e l 相结合处理大批量I型 表数据, 其优点更为显著, 可大大地提高设计 人员的工作效率. 参考文献 ⋯ 乇怀章. V i s u a l b a s i c应用【 M】 . 长春吉林人民出版社, 2 0 0 4 . [ 2 】 黄兆玮. 利用 E X C E L V B A自动绘制河床演变断面比较 [ J 】 l 广东水利电力职业技术学院报, 2 0 0 6 3 7 4 . 7 6 【 3 】 谢刚.用 VB控制 E XC E L实现数据共享[ J 】 .农业I列络倩息, 2 0 0 4 1 2 4 8 . 5 O . Appl i c a t i o n o f VB a s s o c i a t e d wi t h Ex c e l t o t he da t a - de a l i ng a nd pl ot t i n g L I B i n h u a , DI AO Mi n g j u n , Y AN G Ha l b o S t a t e Ke y L a b o r a t o r y o f Hy d r a u l i c s Mo u n t a i n Ri v e r E n g i n e e r i n g , S i c h u a n Un i v e r s i t y, Ch e n g d u 6 1 0 0 6 5 . P . R. C Ab s t r a c t I n t h i s p a p e r . t h e me t h o d t h a t u s i n g t h e VB l a n g u a g e a s s o c i a t e d wi t h E x c e l i s g i v e n i n t h e p a p e r wh i c h i s p r o v e d t o s o l v e t h e d i ffic u l t y s u c c e s s f u l l y o f p r o g r a mmi n g h a r d a n d d e v e l o p i n g i n e ffic i e n t wi t h VB l a n g u a g e i n d a t a - d e a l i n g a n d p l o t t i n g a u t o ma t i c a l l y .A p r o g r a mmi n g t o c a l c u l a t e t h e p r o c e s s o f d a m- r o u t i n g o f r e s e r v o i r i s t a k e n f o r e x a mp l e t o p r o v e s u c h a p p l i c ati o n a b o v e wi t h f u r t h e r f u n c t i o n o f s h o wi n g t h e d i a g r a ms g e n e r a t e d b y E x c e l a u t o ma t i c a l ly i n t h e f o r m- l i s t o f VB. I t s h o ws t h at i t h a s g r e a t a d v a n ta g e s a n d c a n h e l p wo r k mo r e e ffi c i e n t l y wi t h t h e a p p l i c ati o n t o t h e d e a l i n g o f g r e a t d e a l o f d a t a a n d d i a g r a ms . Ke y wo r d s V i s u a l B a s i c V B ; E x c e l ; c a l c u la t i o n o f d a m r o u t i n g
展开阅读全文

资源标签

最新标签

长按识别或保存二维码,关注学链未来公众号

copyright@ 2019-2020“矿业文库”网

矿业文库合伙人QQ群 30735420