gpt4 book ai didi

excel - 为以编程方式添加的按钮设置加速器

转载 作者:行者123 更新时间:2023-12-04 21:04:45 26 4
gpt4 key购买 nike

我无法弄清楚我在这里做错了什么。我以编程方式向 Excel 工作表添加了一个按钮。我正在尝试分配一个加速键,但它没有被分配。相关代码为:

Sub addPrint(sht, Optional fromLeft, Optional fromTop)
If IsMissing(fromLeft) Then fromLeft = 180
If IsMissing(fromTop) Then fromTop = 10
Set printbut = sht.Buttons.Add(fromLeft, fromTop, 50, 20)
printbut.Name = "PrintButton"
printbut.OnAction = "Sheet4.printButton"
printbut.Characters.Text = "Print/PDF"
printbut.Accelerator = "P"
End Sub

“P”没有下划线,Alt-P 什么也不做。

最佳答案

这是添加 ActiveX 按钮的方法:

Sub addActiveXCommandButton(sht As Worksheet, Optional left As Single = 100, Optional top As Single = 100)

Dim btn As OLEObject

'
'create Button
'
Set btn = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, _
DisplayAsIcon:=False, left:=left, top:=top, _
Width:=105.75, Height:=36)

Debug.Print TypeName(btn) ' this returns OLEObject as a wrapper of the CommandButton
Debug.Print TypeName(btn.Object) ' this returns CommandButton - the activeX-Object

'
' access the CommandButton-Object and set the Accelerator value
'
btn.Object.Accelerator = "B"

End Sub

但是,我不确定是否可以访问加速器按钮。在测试中,可以使用 Alt 键访问 Accelerator Button。
我使用带有按钮和 application.onKey 的解决方案-定义两者都访问相同的过程。

关于excel - 为以编程方式添加的按钮设置加速器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26168510/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com