|
楼主 |
发表于 2009-4-25 10:35
|
显示全部楼层
第8部分 控件与用户窗体
技巧128 在工作表中添加窗体控件
在工作表中添加窗体控件,除了使用手工添加外,还可以使用代码添加,方法如下:
128-1 使用AddFormControl方法
使用AddFormControl方法在工作表中添加窗体控件,如下面的代码所示。- #001 Sub AddFormControls()
- #002 Dim myShape As Shape
- #003 On Error Resume Next
- #004 Sheet1.Shapes("myButton").Delete
- #005 Set myShape = Sheet1.Shapes.AddFormControl(0, 108, 72, 108, 27)
- #006 With myShape
- #007 .Name = "myButton"
- #008 With .TextFrame.Characters
- #009 .Font.ColorIndex = 3
- #010 .Font.Size = 12
- #011 .Text = "新建的按钮"
- #012 End With
- #013 .OnAction = "myButton"
- #014 End With
- #015 End Sub
- #016 Sub myButton()
- #017 MsgBox "这是使用AddFormControl方法新建的按钮!"
- #018 End Sub
复制代码 代码解析:
AddFormControls过程使用AddFormControl方法在工作表中添加窗体控件。
第3、4行代码为了避免在工作表中重复添加按钮控件,先删除工作表中的“myButton”按钮。
第5行代码,使用AddFormControl方法在工作表中添加命令按钮控件并设置控件的坐标和大小。应用于Shapes对象的AddFormContl方法创建一个Microsoft Excel控件,返回一个Shape对象,该对象代表新建的控件,语法如下:
expression.AddFormControl(Type, Left, Top, Width, Height)
参数expression是必需的,一个有效的对象。
参数Type是必需的,Microsoft Excel控件类型,可以为表格所列XlFormControl 常量之一。
参数Left是必需的,新对象的初始坐标(以磅为单位)相对于工作表 A1 单元格的左上角或图表的左上角。
参数Top是必需的,新对象的初始坐标(以磅为单位)相对于工作表 A1 单元格的左上角或图表的左上角。
参数Width是必需的,以磅为单位的新对象的初始大小。
参数Height是必需的,以磅为单位的新对象的初始大小。
第7行代码将新添加的按钮名称设置为“myButton”。
第8行到第12行代码设置新添加的按钮文字设置为“新建的按钮”,并设置文字的大小和颜色。
第13行代码,指定新添加按钮所执行的宏名称。
myButton过程是单击新添加按钮所执行的过程,显示一个消息框。
运行AddFormControls过程将在工作表中添加一个命令按钮,单击按钮显示一个消息框,如图所示。
128-2 使用Add方法
在工作表中添加窗体控件还可以使用Add方法,如下面的代码所示。- #001 Sub AddChartObjects()
- #002 Dim myButton As Button
- #003 On Error Resume Next
- #004 Sheet1.Shapes("myButton").Delete
- #005 Set myButton = Sheet1.Buttons.Add(108, 72, 108, 27)
- #006 With myButton
- #007 .Name = "myButton"
- #008 .Font.Size = 12
- #009 .Font.ColorIndex = 5
- #010 .Characters.Text = "新建的按钮"
- #011 .OnAction = "myButton"
- #012 End With
- #013 End Sub
- #014 Sub myButton()
- #015 MsgBox "这是使用Add方法新建的按钮!"
- #016 End Sub
复制代码 代码解析:
AddChartObjects过程使用Add方法在工作表中添加窗体控件。
第3、4行代码为了避免在工作表中重复添加按钮控件,先删除工作表中的“myButton”按钮。
第5行代码,使用Add方法在工作表中添加命令按钮控件,Add方法适用于ChartObjects对象的语法如下:
expression.Add(Left, Top, Width, Height)
参数expression是必需的,该表达式返回一个ChartObjects对象。
如果需要在工作表中添加其他窗体控件,可以将参数expression设置为表格所示的ChartObjects对象之一。
参数Left和Top是必需的,以磅为单位给出新对象的初始坐标,该坐标是相对于工作表上单元格 A1 的左上角或图表的左上角的坐标。
参数Width和参数Height是必需的,以磅为单位给出新对象的初始大小。
第7行代码将新添加的按钮的名称设置为“myButton”。
第8行到第10代码新添加的按钮的文字设置为“新建的按钮”并设置文字的大小和颜色。
第11行代码,指定新添加命令按钮所执行的宏名称。
myButton过程是单击新添加按钮所执行的过程,显示一个消息框。
运行AddChartObjects过程将在工作表中添加一个命令按钮,单击按钮显示一个消息框,如图所示。
|
|