使用ActiveWindow缩放事件触发事件(按住CTRL +鼠标滚轮)

时间:2017-09-26 09:37:51

标签: excel vba excel-vba

我正在构建一个仪表板,需要将缩放级别设置为100%。因此,每当用户尝试使用鼠标滚轮按钮或缩放级别选项进行缩放时,我需要捕获该事件并将缩放返回到100%。我已经在互联网上搜索了答案,发现没有OnZoom事件。

  • 可以选择每隔几毫秒检查一次缩放级别 将其恢复到100%,但我不能接受这个圆形圆的原因 不断出现在鼠标箭头上,这令人分心。
  • 隐藏缩放控制也不是一个选项,因为用户仍然可以缩放 使用CTRL + MouseWheel。
  • 使用类模块也仅适用于手动选择缩放级别 来自菜单View > Zoom solution

我发现的所有答案都是在5年前发布的,所以也许在此期间有人找到了解决方案,或者在较新版本的Excel中添加了此功能?

任何领导都将非常感激!

1 个答案:

答案 0 :(得分:0)

在使用ActiveX控件时找到解决方案,因此对于偶然发现此问题的所有人,请在下面找到答案。

首先,插入名为InkPicture control

调整整个工作表可见区域的控件。

在工作表模块中,粘贴此代码。

Private Sub InkPicture1_Resize(Left As Long, Top As Long, Right As Long, Bottom As Long)
ActiveWindow.Zoom = 100
End Sub

出于某种原因(希望有人可以解释原因?),当缩放发生时,它会触发InkPicture_resize事件! 您还可以将InkPicture visible property设置为false,它仍然有效。

相关问题