excel - 在 Excel 中创建由 CTRL+ 和 CTRL- 映射的放大和缩小循环函数
问题描述
我很难正确指定代码。我想在 Excel 中按CTRL++并每次将缩放增加 5%;CTRL+反之亦然-。
我尝试将缩放功能映射到该Application.onkey
功能,但没有成功。当映射到实际字母时,这更加直接。我也不确定如何创建循环效果。
Sub Zoom()
Application.Onkey "^{=}", "ZoomIn"
End Sub
Sub ZoomIn()
ActiveWindow.View.Zoom.Percentage = 105
End Sub
宏运行但没有产生预期的效果;实际上并没有做任何事情。
解决方案
怎么样:没有测试只是acc。MS Docs 使用 debug.print 来确定击键是否被触发可能是一个想法 - 即使没有任何反应,您也可以看到键定义正在工作。当然,您也可以按 F5 调用 zoomin 以查看缩放是否有效。这可能会简化跟踪您的问题。
在您的应用程序中的某个位置至少被调用一次:
sub keymap
Application.OnKey "^{+}", "zoomin"
Application.OnKey "^{-}", "zoomout"
Application.OnKey "^{=}", "zoomreset"
end sub
Sub zoomin()
debug.print "in"
current = ActiveWindow.View.Zoom.Percentage
ActiveWindow.View.Zoom.Percentage = current+5
End Sub
Sub zoomout()
debug.print "out"
current = ActiveWindow.View.Zoom.Percentage
ActiveWindow.View.Zoom.Percentage = current-5
End Sub
Sub zoomreset()
debug.print "default"
ActiveWindow.View.Zoom.Percentage = 100
End Sub
推荐阅读
- ios - 如何使用故事板为不同设备设置自动布局
- c# - 将 WCF 中的跨调用变量保存为 Windows 服务
- javascript - JDK10 Java.type() 中的 Nashorn 奇怪行为
- ruby-on-rails - Rails 5中的范围参数作为数组
- sql-server - 获取未在 T-SQL 中保留的位置
- c# - 向使用 SocketAsyncEventArgs 构建的服务器添加加密
- reactjs - Jest 有时找不到模块
- spring-boot - 如何在 Spring Data Redis 2.0.X 中使用带有 Spring Cache Abstraction (RedisCacheManager) 的 Lettuce Async 连接
- sql - Presto SQL - 在条件之后为每行计数 1,之前为负 1
- python - 从列表中产生每个值