时间: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...
摘要:介绍了一种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.