VB中基于OLE的图形功能的实现

时间:2022-08-08 04:59:16

【前言】VB中基于OLE的图形功能的实现由文秘帮小编整理而成,但愿对你的学习工作带来帮助。(Mianyang Normal University, Mianyang 621000, China) Abstract: A method of realizing graphics function with Excel graphics embedded in OLE container in Visual Basic is introduced. Great graphics function of Excel is used and a new idea of realizing...

VB中基于OLE的图形功能的实现

摘要:介绍了一种Visual Basic中通过在ole容器中嵌入Excel图形的方法来实现图形功能的方法,利用了Excel强大的图形功能,为我们实现Visual Basic中的图形功能提供了新的思路。

关键词:Visual Basic;OLE;Excel;图形

中图分类号:TP312文献标识码:A文章编号:1009-3044(2008)34-2043-02

Realization of Multiple Operating Systems and Virtual Network Based on VMware

HUANG Zhi

(Mianyang Normal University, Mianyang 621000, China)

Abstract: A method of realizing graphics function with Excel graphics embedded in OLE container in Visual Basic is introduced. Great graphics function of Excel is used and a new idea of realizing graphics in Visual Basic is provided.

Key words: Visual Basic; OLE; Excel; graphics

1 引言

某信息系统用于数据的分析和预测、预警,该系统使用vb6.0开发,数据库采用SQLServer2000。为了更加直观的反映各种数据,提出了图形功能的要求,即根据数据库中的数据,作出条形图、曲线图、饼图等图形,使各种数据一目了然。

VB具有Shape、Image、MSChart等图形控件,但是这些控件都存在着功能不完善、图形不美观等缺点,因此最终选择了在OLE容器中嵌入Excel图形的方法来实现图形功能。

2 主要工具及技术介绍

2.1 Visual Basic

Visual Basic是Microsoft开发的可视化工作室(Visual Studio)中的重要成员,由早期的Basic语言逐步演变而来。它一方面继承了早期Basic语言简单易用的特点,另一方面引入了面向对象的编程机制,形成所见即所得的可视化程序设计方法,从而大大简化了Windows应用程序的设计。

2.2 OLE

OLE(Object Linking and Embedding,对象链接与嵌入)是Windows提供的一种信息共享或交换方式,在办公自动化等软件中已经广泛应用,在多媒体软件开发中应用这一技术可使VB利用其他应用程序来制作多媒体数据,然后将它们“链接”或“嵌入”到VB的数据文件中直接使用。

为便于利用OLE的功能,VB提供了一种称为OLE容器的控件,这种控件允许将其他媒体工具制作的多媒体对象添加到VB应用程序的窗体中,从而使VB应用程序可方便的显示和编辑其他Windows应用程序中的数据。一旦VB激活了OLE控件,控件就会指向产生这些数据的应用程序,并且借助该应用程序的力量修改这些数据。[1]

2.3 Excel

Excel是一种电子表格软件,是MSOffice系列办公软件的成员之一,可以用来制作电子表格、完成数据运算,并且具有强大的图形功能,提供了11种类型的图表,其中又含有73种图表子类型,完全可以满足该系统对图形功能的需求。

3 图形功能实现方法

该信息系统的图形处理功能可以实现条形图、曲线图和饼图的功能。每一种图形对应VB程序中的一个OLE容器。实现图形功能的步骤如下:

1) 系统创建Excel临时文件;

2) 系统从数据库中读出数据,并将这些数据填入Excel临时文件中;

3) 根据填入的数据,在Excel文件中产生图形;

4) 把Excel文件中的图形链接到系统的OLE容器中,并显示出来,实现图形功能。

3.1 创建临时文件

为了创建Excel临时文件,需要创建相关的对象并设置相关参数。部分代码如下。

……

Set xApp = New Excel.Application

xApp.AlertBeforeOverwriting = False

Set xBook = xApp.Workbooks.Add

xBook.ShowConflictHistory = False

Set xSheet = xBook.Worksheets(1)

……

3.2 读出数据并填入到临时文件

通过VB的数据连接控件连接到SQLServer数据库,读出相关的数据,填入到Excel表格中正确的位置,最后保存Excel临时文件。部分代码如下。

rsTmp.MoveFirst

While Not rsTmp.EOF

……

xSheet.Cells(timp, strIntToStr(CStr(timp2))) = CStr(rsTmp.Fields(j).Value)

……

Wend

……

Call xBook.SaveAs(App.Path & "\txt.xls", , , , , , , , xlLocalSessionChanges)

……

3.3 在Excel中产生图形

根据填入的数据以及各种参数,在Excel临时文件中作出相应的图形,并保存Excel临时文件。部分代码如下。

……

Set xBook = xApp.Workbooks.Open(App.Path & "\txt.xls")

xBook.ConflictResolution = xlUserResolution

If xBook.MultiUserEditing Then

xBook.ExclusiveAccess

End If

Set xSheet = xBook.Sheets(1)

Set xChart = xBook.Charts.Add

……

xChart.SetSourceData Source:=xSheet.Range("A" & CStr(m) & ":" & strIntToStr(CStr(timp2)) & CStr(m))

xChart.SeriesCollection(1).Interior.Color = clXl(k)

xChart.SeriesCollection(1).Name = strXl2(m)

……

Call xBook.Close(True)

frmResult.oleTxt.CreateLink (App.Path & "\txt.xls")

……

3.4 Excel图形和OLE控件的链接

在Excel临时文件中作出图形以后,需要把该临时文件链接到VB程序相应的OLE控件中,才能在VB程序中显示图形。只需要一行代码即可实现Excel临时文件与OLE控件的链接。

……

frmResult.oleTxt.CreateLink (App.Path & "\txt.xls")

……

图形功能运行结果如图1所示。

4 结束语

和VB的Shape、Image、MSChart等图形控件相比,使用在VB的OLE容器中嵌入Excel图形的方法来实现图形功能,具有功能强大、图形美观等优点,收到了良好的效果,为我们实现VB中的图形功能提供了新的思路。

参考文献:

[1] 史济民,史令,沈齐生.多媒体应用与开发基础[M].北京:清华大学出版社,2003.

上一篇:基于VB和API函数实现文件时间属性的获取和设置 下一篇:聚焦爬行中网页爬行算法的改进