2017-09-26 139 views
0

我正在构建仪表板,并且需要将缩放级别设置为100%。因此,无论何时用户尝试使用鼠标滚轮按钮或缩放级别选项进行缩放,我都需要捕捉该事件并将缩放返回到100%。我在互联网上搜索了所有答案,发现没有OnZoom事件。使用ActiveWindow缩放事件触发的事件(按住CTRL +鼠标滚轮)

  • 还有就是要检查缩放级别每隔几毫秒和 它恢复到100%的选择,但我不能接受这样的原因四舍五入圆 出现在鼠标箭头不停,这是分心。
  • 隐藏缩放控制也不是一个选项,因为用户仍然可以用CTRL + MouseWheel缩放 。
  • 使用类模块也只在手动选择缩放级别 从菜单操作View > Zoom solution

所有答案,我发现了超过5年前的过时,所以也许在此期间,有人找到了一个解决方案或此功能在新版本的Excel中添加?

任何铅都将不胜感激!

回答

0

在使用ActiveX控件时发现了一个解决方案,因此对于每个遇到此问题的人,请在下面找到答案。

首先,插入名为InkPicture control的ActiveX控件。

调整整个Worksheet可见区域的控件大小。

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

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

出于某种原因(希望有人能解释一下为什么吗?),缩放occures时,它会触发InkPicture_resize事件! 您也可以将InkPicture visible property设置为false,它仍然可以工作。