首先我们要定义一些Excel对象变量:
Private oExcelApp As Excel.Application
Private oExcelSheet As Excel.Worksheet
Public oExcelChart As Excel.Chart
oExcelApp对象代表着一个独立的Excel应用实例。它由ExcelChart组件初始化和维护,在整个ExcelChart组件的生存期内、直至组件被拆除之前均是如此。oExcelSheet对象保存了包含所有数据和标签的工作表(Worksheet),这些数据和标签将用来绘制图表。从前面的对象层次图可以看出,工作簿(Workbook)对象包含工作表对象,而应用对象(Application)又包含了工作簿对象。
如本文第一部分所示,用来绘制图表的数据原来保存在SQL数据库,后来以记录集对象的形式传递。数据首先保存到这里的工作表,然后又被传递给oExcelChart对象。oExcelChart对象是MS Excel的Chart对象,帮助文件说它“代表工作簿中的图表。该图表既可为嵌入式图表,也可为一个分开的图表工作表。”我们使用的是分开的图表工作表。
Public Enum xlChartType
xlColumnClustered = 51
xl3DColumnClustered = 54
xl3DColumn = -4100
..
End Enum
Public Enum xlChartFillEffect
msoGradientEarlySunset = 1
msoGradientLateSunset = 2
msoGradientNightfall = 3
msoGradientDaybreak = 4
..
End Enum
xlChartType常量定义了传递给SetChartType()函数的图表类型,xlChartFillEffect是可应用于图表的各种背景。本文第一部分所显示的图表应用了msoGradientCalmWater和msoGradientChrome背景。这些枚举常量的完整列表既可以从Visual Basic/Visual Interdev等带自动完成功能的开发工具得到,或者也可以从本文下载包中的ExcelChart.inc文件得到。