Excel 2007 图表初步了解

来源:百度文库 编辑:神马文学网 时间:2024/04/29 20:38:56
图表初步了解(Chart)
1,  图表(Chart)的位置
a)         作为嵌入对象放在工作表中,一个工作表(Sheet)中可以存放多个图表(Chart);
b)         放在一个单独的图表工作表中,一个图表工作表通常包含一个图表(Chart)
2,  Chart对象模型
a)         对于嵌入式图表
Application->Workbook->WorkSheet->ChartObject->Chart
b)         对于图表工作表
Application->Workbook->Chart
注:图表工作表本质上是一个Chart,而且不包含ChartObject对象。也就是说,嵌入式图表的父对象是ChartObject对象,而一个图表工作表的父对象是Workbook对象。
ChartObject对象表示工作表中的嵌入图表,它的作用是作为Chart对象的容器,也就是说用它来装Chart对象。所以控制嵌入图表的外观和尺寸需要用ChartObject的属性和方法,而图表内部的控制则需要用Chart对象的属性和方法。
3,创建图表(Chart)
创建嵌入式图表
在Excel 2007中ChartObject是一种特殊的Shape对象,它是Shapes集合的一个成员。要创建一个新的图表,可以使用Shapes集合的AddChar方法:
Sub CreateChart()
Dim myChart As Chart
Dim myShape As Shape
Set myChart = Worksheets("sheet1").Shapes.Addchart(xlLineMarkers).Chart
Set myShape = Worksheets("sheet1").Shapes.Addchart(xlLineMarkers)
End Sub
以上是Excel 2007中添加图表的新方法,为了兼容,可使用ChartsObjects集合的Add方法。该方法与Shapes集合的AddChart方法的区别是,它不允许将图表类型指定为一个参数,但需要Left,Top,Width,Height参数。例如:
Sub CreateChart()
Dim myChart As Chart                                                  Left Top  Width Height
Set myChart = Worksheets("sheet1").ChartObjects.Add( 10,  10,   354,  250).Chart
End Sub
创建图表工作表
要在图表工作表上创建图表(Chart)则可使用Charts集合的Add方法,但Charts集合的Add方法使用的可选参数指定的事图表工作表的位置---而非图表的相关信息。
Sub CreateChartSheet()
Dim myChart As Chart
Set myChart = Charts.Add
End Sub
4,删除图表(Chart)
删除嵌入式图表
要删除嵌入式图表,就必须知道ChartObject的名称或索引。下列语句删除活动工作表上的名为Chart 1的ChartObject删除。
ActiveSheet.ChartObjects("chart 1").Delete
删除所有的ChartObject对象,可以使用ChartObjects集合的Delete方法:
ActiveSheet.ChartObjects.Delete
也可通过访问Shapes集合来删除嵌入式图表:
ActiveSheet.Shapes("chart 1").Delete

ActiveSheet.Shapes.Delete   删除了所有图表和其他所有图形。
删除图表工作表
Charts("chart 1").Delete   而 ActiveWorkbook.Charts.Delete  删除活动工作簿所有的图表工作表
切换按钮用于在两种状态之间选择,例如当按下某切换按钮时开启或关闭某功能。
1、toggleButton元素必需的属性
切换按钮需要下表1所列的id属性之一。
表1:toggleButton元素必需的属性
属性
何时使用
id
当创建自已的切换按钮时
idMso
当使用现有的Microsoft切换按钮时
idQ
当在命名空间之间创建共享的切换按钮时
切换按钮也需要表2所列出的onAction回调。
表2:toggleButton元素必需的回调
动态属性
允许值
VBA回调签名
onAction
1至4096个字符
Sub OnAction(control As IRibbonControl,
selectedId As String,
selectedIndex As Integer)
2、带有回调签名的可选的静态属性和动态属性
使用切换按钮时,可以使用下表3列出的任一insert属性。
表3:toggleButton元素可选的insert属性
INSERT属性
允许值
默认值
何时使用
insertAfterMso
有效的Mso组
在组末尾插入
在Microsoft控件之后插入
insertBeforeMso
有效的Mso组
在组末尾插入
在Microsoft控件之前插入
insertAfterQ
有效的组idQ
在组末尾插入
在共享的命名空间控件之后插入
insertBeforeQ
有效的组idQ
在组末尾插入
在共享的命名空间控件之前插入
也可以提供下表4所列的任何或所有的属性。
表4:toggleButton元素可选的属性和回调
静态属性
动态属性
允许值
默认值
动态属性的VBA回调签名
description
getDescription
1至4096个字符
(none)
Sub GetDescription(control
As IRibbonControl,
ByRef returnedVal)
enabled
getEnabled
true,false,1,0
true
Sub GetEnabled(control As
IRibbonControl,
ByRef returnedVal)
image
getImage
1至4096个字符
(none)
Sub GetImage(control As
IRibbonControl,
ByRef returnedVal)
imageMso
getImage
1至4096个字符
(none)
同上
keytip
getKeytip
1至3个字符
(none)
Sub GetKeytip(control As
IRibbonControl,
ByRef returnedVal)
label
getLabel
1至4096个字符
(none)
Sub GetLabel(control As
IRibbonControl,
ByRef returnedVal)
(none)
getPressed
true,false,1,0
(none)
Sub GetPressed(control As
IRibbonControl,
ByRef returnedVal)
screentip
getScreentip
1至4096个字符
(none)
Sub GetScreentip(control As
IRibbonControl,
ByRef returnedVal)
showImage
getShowImage
true,false,1,0
true
Sub GetShowImage(control
As IRibbonControl,
ByRef returnedVal)
showLabel
getShowLabel
true,false,1,0
true
Sub GetShowLabel(control
As IRibbonControl,
ByRef returnedVal)
size
getSize
normal,large
normal
Sub GetSize(control As
IRibbonControl,
ByRef returnedVal)
supertip
getSupertip
1至4096个字符
(none)
Sub GetSupertip(control As
IRibbonControl,
ByRef returnedVal)
tag
(none)
1至4096个字符
(none)
(none)
visible
getVisible
true,false,1,0
true
Sub GetVisible(control As
IRibbonControl,
ByRef returnedVal)
3、toggleButton元素允许的子对象
toggleButton控件不支持任何子对象。
4、toggleButton元素的父对象
在下列任何控件内都能放置toggleButton控件:
n         box
n         buttonGroup
n         dynamicMenu
n         group
n         menu
n         officeMenu
n         splitButton
5、使用内置的切换按钮控件
在功能区中使用了很多内置的切换按钮控件。下面的示例在自定义选项卡中添加四个内置的切换按钮。
(1)创建一个新的.xlsx文件,并将其保存为Excel Built In toggleButton Example.xlsx。
(2)关闭该文件并在CustomUI Editor中打开。
(3)输入下列XML代码:



label=“My Tools“
insertBeforeMso=“TabHome“>
label=“Formatting“>









(4)保存并关闭CustomUI Editor。在Excel中打开工作簿,如下图所示。

6、创建自定义切换按钮控件
下面的示例再次使用在细品RibbonX(18)中使用的预付费用计划示例,我们将添加自定义视图切换功能,这样允许用户显示或隐藏“Expense To”列,如下图所示。

在Excel中,单击“视图—自定义视图”,选择“添加”并命名为“cvw_Show”。该视图用于返回工作表的全视图,显示所有列。关闭“视图管理器”对话框。
接着,设置隐藏“Expense To”列的第二个视图。隐藏F列,重新打开“视图管理器”对话框,添加一个名为“cvw_Hide”的新的自定义视图。关闭“视图管理器”对话框。
现在,录制切换视图的宏。单击“录制宏”按钮,开始录制:
(1)单击“视图”选项卡。
(2)单击“自定义视图”。
(3)选择cvw_Hide视图并选择“显示”。
(4)再次单击“自定义视图”。
(5)选择cvw_Show视图并选择“显示”。
(6)停止录制。
转到VBE中,查看录制的代码:
ActiveWorkbook.CustomViews(”cvw_Hide”).Show
ActiveWorkbook.CustomViews(”cvw_Show”).Show
接下来,让我们设置功能区中所自定义的切换按钮。保存Excel文件,在CustomUI Editor中打开该文件,编写下列XML代码:



label=“Demo“
insertBeforeMso=“TabHome“>
label=“Demo Group“>