以编程方式添加和修改命令按钮(活动X控件) - Excel VBA

时间:2016-06-27 13:04:35

标签: excel vba excel-vba

你好,这让我头疼了一段时间。

我想简单地删除现有按钮并添加新按钮。我已经准备好了函数xbutton_click()和ybutton_click()。我尝试添加这样的按钮:

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

但这些似乎只能用于我想要的宏。我意识到当我手动添加按钮时,我添加了活动的X控制按钮。 我想要那个。它有一个名称属性,可以更改,其功能基本上是name_click(),完美!

现在谈到添加它们时头疼。我上网但它充满了过时的解决方案(我使用的是2013年)。我只能添加新的命令按钮,但无法更改其标题,名称,没有。

这是添加“命令按钮”(不是“按钮”)的代码:

Set objBtn = ws.OLEObjects.Add(ClassType:="Forms.CommandButton.1", link:=False, _
    displayasicon:=False, Left:=celLeft, Top:=celTop, Width:=celWidth, Height:=celHeight)

添加ActiveX命令按钮有效,但我无法像“标题”那样更改其属性。有人可以引导我走过这个迷宫吗?

修改

objBtn.Name =“newName”有效。但objBtn.Caption =“newCaption”给出错误438。

1 个答案:

答案 0 :(得分:2)

对于OLEObjects,你不能只做一个应该解决它的标题

Dim objBtn As OLEObject
Set objBtn = ws.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, _
    DisplayAsIcon:=False)
    objBtn.Object.Caption = "Example"

请注意您遗失了.Object. enter image description here