以编程方式添加和修改命令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. 在这里输入图像说明