以编程方式添加和修改命令button(活动X控件) – Excel VBA
你好,这一直让我头痛。
我只想简单地删除现有的button并添加新的button。 我已经准备好了函数xbutton_click()和ybutton_click()。 我试着添加这样的button:
Set btn= ActiveSheet.Buttons.Add(Range("B3").Left, Range("B3").Top, Range("B3").Width, Range("B3").Height) With openForm .OnAction = "new_Click" .Caption = "new" .Name = "newButton" End With
但是这些似乎只适用于macros,这不是我想要的。 我意识到,当我手动添加一个button,我添加了活动X控制button。 我想要那个 它有一个名称属性,可以改变,其function基本上是name_click(),完美!
现在说到让他们加点头痛。 我已经上网,但它充满了过时的解决scheme(我正在使用2013年)。 我只能添加新的命令button,但不能改变他们的标题,名称,什么都没有。
这是添加“命令button”(而不是“button”)的代码:
Set objBtn = ws.OLEObjects.Add(ClassType:="Forms.CommandButton.1", link:=False, _ displayasicon:=False, Left:=celLeft, Top:=celTop, Width:=celWidth, Height:=celHeight)
添加ActiveX命令button的作品,但我不能改变它的属性,如“标题”。 有人可以引导我通过这个迷宫吗?
编辑
objBtn.Name =“newName”的作品。 但是objBtn.Caption =“newCaption”给出了错误438。
对于OLEObjects,你不能只是这个应该解决它的标题
Dim objBtn As OLEObject Set objBtn = ws.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, _ DisplayAsIcon:=False) objBtn.Object.Caption = "Example"
注意你缺less.Object.