当用户将鼠标悬停在Excel功能区上的自定义按钮/功能区控件上时,是否可以突出显示范围

时间:2016-03-07 23:26:47

标签: xml excel vba excel-vba ribbon-control

我知道当用户直接悬停在单元格或单元格区域上时,可以暂时突出显示单元格或单元格范围(如herehere所示)。但是,当用户将鼠标悬停在Excel功能区上的自定义按钮/功能区控件上时,是否可以突出显示单元格或单元格范围?

某些背景

我有一个自定义标签,其中包含按钮/功能区控件,可在单击时运行加载项中包含的宏。我使用Microsoft的自定义RibbonUI程序创建了附加选项卡,以xml编码。我想强调一个范围(让我们说A列)向用户显示他们应该在运行该按钮调用的特定宏之前放置数据的位置。我想它基本上会这样做而不是显示工具提示/ supertip?我更喜欢它可以同时做两件事,显示提示并突出显示单元格,但如果它只能代替工具提示可以。

  1. 这甚至可能吗?
    • 即使有一个巨大的解决方法,我也可以听到它。
  2. 如果不可能,您建议我用什么来代替显示用户将数据放在何处?
  3. 可以使用MouseMove使用IRibbonControl事件的this method吗?该事件可以应用于var svg = d3.select("#viz") .attr("viewBox", [ margin.left, margin.top, (width+margin.left), (height+margin.bottom) ].join(" ")) .append("svg") .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); 吗?

1 个答案:

答案 0 :(得分:1)

不确定悬停选项,但如果你能弄清楚那就太酷了。可能适用于您的方案的解决方法是突出显示单元格/范围,使用Application.Wait暂停 x 秒数,然后取消突出显示单元格/范围。

以下代码使用A列执行此操作。将其突出显示为黄色,等待1.5秒,然后取消突出显示。

Sub test1()

newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 1.5
waitTime = TimeSerial(newHour, newMinute, newSecond)

With Columns("A:A").Interior
    .Pattern = xlSolid
    .PatternColorIndex = xlAutomatic
    .Color = 65535
    .TintAndShade = 0
    .PatternTintAndShade = 0
End With
Application.Wait waitTime
With Columns("A:A").Interior
    .Pattern = xlNone
    .TintAndShade = 0
    .PatternTintAndShade = 0
End With

End Sub