创建一个 ToggleButton 并在 EXCEL VBA 上以编程方式更改其标题
Create a ToggleButton and change its caption programmatically on EXCEL VBA
在我的 VBA 代码中,我创建了一些新的表格并添加了按钮和切换按钮。我没有问题,但我想在不单击的情况下更改 ToggleButton 标题。
我认为只有在创建的 sheet 中编写代码才有可能,我尝试了但无法调用我的方法,因为 sheet 在代码的开头不存在.. .
你有什么想法吗?
PS : 使用宏创建 ToggleButton 的代码 :
ActiveSheet.OLEObjects.Add(ClassType:=""Forms.ToggleButton.1"", Link:=False, DisplayAsIcon:=False, Left:=1195.5, Top:=77.25, Width:=87.75, Height:=100.5).Select
编辑:我的代码在 vba 模块中
使用您当前的代码,您可以在创建后立即执行 Selection.Caption = "NewCaption"
(这样您就不会丢失选择)
不过,我可能想将该切换按钮分配给一个对象变量,以防您想进一步对其进行任何操作。事实上,我会尽量避免 Select...
将 object 作为参考,而不是 Select
然后设置标题:
Set btn = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ToggleButton.1", Link:=False, DisplayAsIcon:=False, Left:=1195.5, Top:=77.25, Width:=87.75, Height:=100.5)
btn.Object.Caption = "fred"
如果它只有一个切换按钮(并且您没有更改它的默认名称),您可以使用默认索引名称来引用它,这样您就可以更改它的标题。
所以你会使用:
ActiveSheet.OLEObjects("ToggleButton1").Object.Caption = "Your Caption"
如果您使用 Add 方法添加了多个控件,通常情况下,您最好将它们分配给一个变量并从那里开始工作。
在我的 VBA 代码中,我创建了一些新的表格并添加了按钮和切换按钮。我没有问题,但我想在不单击的情况下更改 ToggleButton 标题。
我认为只有在创建的 sheet 中编写代码才有可能,我尝试了但无法调用我的方法,因为 sheet 在代码的开头不存在.. .
你有什么想法吗?
PS : 使用宏创建 ToggleButton 的代码 :
ActiveSheet.OLEObjects.Add(ClassType:=""Forms.ToggleButton.1"", Link:=False, DisplayAsIcon:=False, Left:=1195.5, Top:=77.25, Width:=87.75, Height:=100.5).Select
编辑:我的代码在 vba 模块中
使用您当前的代码,您可以在创建后立即执行 Selection.Caption = "NewCaption"
(这样您就不会丢失选择)
不过,我可能想将该切换按钮分配给一个对象变量,以防您想进一步对其进行任何操作。事实上,我会尽量避免 Select...
将 object 作为参考,而不是 Select
然后设置标题:
Set btn = ActiveSheet.OLEObjects.Add(ClassType:="Forms.ToggleButton.1", Link:=False, DisplayAsIcon:=False, Left:=1195.5, Top:=77.25, Width:=87.75, Height:=100.5)
btn.Object.Caption = "fred"
如果它只有一个切换按钮(并且您没有更改它的默认名称),您可以使用默认索引名称来引用它,这样您就可以更改它的标题。
所以你会使用:
ActiveSheet.OLEObjects("ToggleButton1").Object.Caption = "Your Caption"
如果您使用 Add 方法添加了多个控件,通常情况下,您最好将它们分配给一个变量并从那里开始工作。