[英]Excel double click on a ribbon button to initiate macro
我在Excel 2013中有一个看似简单的问题,但找不到答案。 下面我描述了所有细节。 在此先感谢您的帮助。
围绕该问题的情况:
我的问题:我只希望双击功能区上的Macro1才能启动Macro1。 单击一下应该什么都不做。
我对问题的研究:为了找到答案,我在VSTO add ins和macros教程上浏览了许多msdn资料。 前者的问题是我只是VSTO的初学者,而后者的问题是我仅找到有关单元格激活而不是功能区按钮激活的“ Worksheet_BeforeDoubleClick”事件。
问题:最后,我的问题是:该怎么做? 有没有办法仅使用Excel做到这一点,还是需要开始学习高级VSTO? 此外,我也将感谢您从何处开始挖掘以解决此问题的任何一般性提示(我已广泛分析的msdn站点除外)。 也许有书吗?
通过将其分配给工作表上的形状进行测试(因此您的Sub声明可能看起来有所不同)。
Sub MenuAction()
Static t As Double
'0.25 sec double-click interval
If [NOW()] - t > (1 / 24 / 60 / 60 / 4) Then
t = [NOW()]
Exit Sub
End If
Debug.Print "double-click"
'run your code here
End Sub
编辑:使用[NOW()]
与Now()
的附带说明。 我看到一则帖子说这两个表达式具有不同的精度,并且[NOW()]更精确。
例如(还包括比较Time
):
子测试器()Dim i,x
For i = 1 To 10
'make a delay...
For x = 1 To 3000#
DoEvents
Next x
Debug.Print Time * 1, Now() * 1, [NOW()] * 1
Next i
结束子
输出:
Time Now() [NOW()]
0.494270833333333 42891.4942708333 42891.4942753472
0.494270833333333 42891.4942708333 42891.4942768519
0.494270833333333 42891.4942708333 42891.4942782407
0.494270833333333 42891.4942708333 42891.4942795139
0.494270833333333 42891.4942708333 42891.4942810185
0.494282407407407 42891.4942824074 42891.4942824074
0.494282407407407 42891.4942824074 42891.494283912
0.494282407407407 42891.4942824074 42891.4942851852
0.494282407407407 42891.4942824074 42891.4942865741
0.494282407407407 42891.4942824074 42891.4942880787
有趣!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.