深圳office培训 深圳excel培训
深圳excel培训 深圳office培训
咨询服务
深圳office培训
深圳office培训
office培训
excel培训
ppt培训
vba培训
access培训
word培训
visio培训
project培训
outlook培训
数据库培训
深圳access培训
深圳sql培训
深圳office培训
 

在工作表中添加ActiveX控件


2022年4月28日 作者: 来源:

本例中使用代码在工作表中添加的是ActiveX控件。
使用Add方法在工作表中添加ActiveX控件,如下面的代码所示。
#001  Sub AddObj()
#002      Dim Obj As New OLEObject
#003      On Error Resume Next
#004      Sheet1.OLEObjects("MyButton").Delete
#005      Set Obj = Sheet1.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
#006              Left:=108, Top:=72, Width:=108, Height:=27)
#007      With Obj
#008          .Name = "MyButton"
#009          .Object.Caption = "新建的按钮"
#010          .Object.Font.Size = 16
#011          .Object.ForeColor = &HFF&
#012      End With
#013      With ActiveWorkbook.VBProject.VBComponents(Sheet1.CodeName).CodeModule
#014          If .Lines(1, 1) <> "Option Explicit" Then
#015              .InsertLines 1, "Option Explicit"
#016          End If
#017          If .Lines(2, 1) = "Private Sub MyButton_Click()" Then Exit Sub
#018          .InsertLines 2, "Private Sub MyButton_Click()"
#019          .InsertLines 3, vbTab & "MsgBox ""这是使用Add方法新建的按钮!"""
#020          .InsertLines 4, "End Sub"
#021      End With
#022  End Sub
代码解析:
AddOLEObject过程使用Add方法在向工作表中添加ActiveX控件中的命令按钮和相应的代码。
第3、4行代码为了避免在工作表中重复添加按钮控件,先删除工作表中的名称为“myButton”的按钮。
第5、6行代码,使用Add方法在向工作表中添加ActiveX控件中的命令按钮,Add方法应用于OLEObjects 对象的语法如下:
expression.Add(ClassType, FileName, Link, DisplayAsIcon, IconFileName, IconIndex, IconLabel, Left, Top, Width, Height)
其中参数expression是必需的,返回一个 OLEObjects 对象。
参数ClassType是可选的,创建的对象的程序标识符。如果指定了 ClassType参数,则忽略FileName参数和Link参数。
在本例中指定添加控件的程序标识符为“Forms.CommandButton.1”,即命令按钮控件。
参数Left和参数Top是必需的,以磅为单位给出新对象的初始坐标,该坐标是相对于工作表上单元格 A1 的左上角或图表的左上角的坐标。
参数Width和参数Height是可选的,以磅为单位给出OLE对象的初始大小。
第8行代码,设置命令按钮的名称为“MyButton”。
第9行代码,设置命令按钮的文字为“新建的按钮”
第10行代码,设置命令按钮的文字的大小。
第11行代码,设置命令按钮的文字的颜色。
第13行到第21行代码,在工作表中写入新添加的命令按钮的单击事件代码。
ActiveX控件不能像窗体控件用OnAction属性来指定宏,需要使用CodeModule对象的InsertLines方法在工作表中插入代码。
应用于CodeModule对象的InsertLines方法的语法如下:
object.InsertLines(line, code)
参数object是必需的,一个有效的对象。
参数line是必需的,用来指定要插入代码的位置。
参数code是必需的,要插入的代码。
第14行到第16行代码判断首行内容是否为要求变量声明,如不是则添加要求变量声明语句。
第17行到第20行代码判断是否已存在相同名称的过程,如不存在则使用InsertLines方法在工作表中插入代码。
运行AddOLEObject过程,将在工作表中添加一个命令按钮和相应的代码,单击按钮显示一个消息框。
 
在工作表中添加ActiveX控件,还可以使用AddOLEObject方法,如下面的代码所示。
#001  Sub AddShapes()
#002      Dim ShpBut As Shape
#003      On Error Resume Next
#004      Sheet1.OLEObjects("MyButton").Delete
#005      Set ShpBut = Sheet1.Shapes.AddOLEObject(ClassType:="Forms.CommandButton.1", _
#006              Left:=108, Top:=72, Width:=108, Height:=27)
#007              ShpBut.Name = "MyButton"
#008      With ActiveWorkbook.VBProject.VBComponents(Sheet1.CodeName).CodeModule
#009          If .Lines(1, 1) <> "Option Explicit" Then
#010              .InsertLines 1, "Option Explicit"
#011          End If
#012          If .Lines(2, 1) = "Private Sub MyButton_Click()" Then Exit Sub
#013          .InsertLines 2, "Private Sub MyButton_Click()"
#014          .InsertLines 3, vbTab & "MsgBox ""这是使用AddOLEObject方法新建的按钮!"""
#015          .InsertLines 4, "End Sub"
#016      End With
#017  End Sub
代码解析:
AddShapes过程使用AddOLEObject方法在向工作表中添加ActiveX控件中的命令按钮和相应的代码。
第5、6行代码,使用AddOLEObject方法在向工作表中添加ActiveX控件中的命令按钮,AddOLEObject方法创建OLE对象,语法如下:
expression.AddOLEObject(ClassType, FileName, Link, DisplayAsIcon, IconFileName, IconIndex, IconLabel, Left, Top, Width, Height)
AddOLEObject方法参数与Add方法类似。
运行AddShapes过程,将在工作表中添加一个命令按钮和相应的代码,单击按钮显示一个消息框。


阅读:2152 上一则:在工作表中添加窗体控件 下一则:华润集团总部office培训圆满结束

返回前页 返回顶部
温馨提示:本中心是深圳较为专业office培训机构、咨询及报名请先预约,电话:0755-82124110。
深圳地址:深圳红荔路四川大厦1109B-1110(3号龙岗线通新岭地铁站A出口10米)
热线:0755-82124110(福田、南山、宝安) 0755-22205758(罗湖、龙岗、龙华) 13510024571(东莞、惠州、珠海、广州)
北京地址:北京清华大学华业大厦三区三楼 版权所有:深圳万博计算机教育 粤ICP备11006947号-1
 
深圳信息系统项目管理师培训
深圳信息系统项目管理师培训 欢迎咨询!
您好!请点击这里咨询万博教育
深圳万博吴老师
您好!请点击这里咨询万博教育
深圳万博史老师
 
深圳信息系统项目管理师培训
深圳信息系统项目管理师培训