我正在构建仪表板,需要将缩放级别设置为100%
。因此,每当用户尝试使用鼠标滚轮按钮或缩放级别选项进行缩放时,我都需要捕获该事件并将缩放返回到 100%。我在网上搜索了答案,发现没有 OnZoom 事件这样的东西。
- 有一个选项可以每隔几毫秒检查一次缩放级别,并且 恢复到100%,但是我不能接受这个造成圆角的原因 不断出现在鼠标箭头上,这很分散注意力。
- 隐藏缩放控件也不是一个选项,因为用户仍然可以缩放 使用 CTRL+鼠标滚轮。
- 使用类模块也仅适用于手动选择缩放级别
从菜单
查看>缩放
solution
我找到的所有答案都已超过 5 年前,所以也许在此期间有人找到了解决方案,或者此功能已添加到较新版本的 Excel 中?
任何线索将不胜感激!
最佳答案
在使用 ActiveX 控件时找到了解决方案,因此对于每个偶然发现此问题的人,请在下面找到答案。
首先,插入名为 InkPicture 控件
的 ActiveX 控件。
调整整个工作表可见区域的控件大小。
在工作表模块中,粘贴此代码。
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 属性
设置为 false
,它仍然有效。
关于vba - 通过 ActiveWindow 缩放事件触发的事件(按住 CTRL+鼠标滚轮),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46422870/