有没有办法在 Word(2013)中使用快捷键来向下滚动页面,同时保持光标在窗口中的同一位置?
这样可以避免转到最后一行并向下滚动。
答案1
您可以创建一个宏来上下滚动而不移动光标,然后为这些宏分配键盘快捷键。
Sub ScrollUp()
ActiveWindow.SmallScroll Up:=1
End Sub
Sub ScrollDown()
ActiveWindow.SmallScroll Down:=1
End Sub
然后为这些宏分配您选择的键盘快捷键。(在 Word 2016 中,转到文件 > 选项 > 自定义功能区 > 键盘快捷键:自定义 > 类别:宏)
在宏中,如果您愿意,可以将滚动线的数量更改为不同的数字。
来源:http://www.thefreewindows.com/2287/scroll-a-microsoft-word-document-without-moving-the-cursor/
答案2
只需添加到 stevenkkim 的解决方案,对于 Word 2016 您需要:
Sub ScrollUp()
ActiveDocument.ActiveWindow.SmallScroll Up:=1
End Sub
Sub ScrollDown()
ActiveDocument.ActiveWindow.SmallScroll Down:=1
End Sub
Sub ScrollLeft()
ActiveDocument.ActiveWindow.SmallScroll ToLeft:=1
End Sub
Sub ScrollRight()
ActiveDocument.ActiveWindow.SmallScroll ToRight:=1
End Sub
然后将宏分配给您喜欢的键盘快捷键(我使用 Alt + UpArrow 等)。
答案3
如果用例只是阅读别人创建的文档而不做任何编辑,我建议一种解决方法:导出/打印为 PDF。在 pdf 阅读器应用程序中,在阅读环境中导航更加顺畅。
答案4
这是稍微不美观的脚本。它将文本滚动几行(我的情况是 39 行),然后按“Space”和“Backspace”。您将看到当前行作为文档可见空间中的最顶部行。只是不要在选择文本时这样做,因为 Space/Backspace 会破坏它。
Sub ScrollTextAndEmulateSpaceBackspace()
Dim originalLine As Long
Dim i As Long
' Remember current line position
originalLine = Selection.Information(wdFirstCharacterLineNumber)
' Store the current selection
Dim selStart As Long
Dim selEnd As Long
selStart = Selection.Start
selEnd = Selection.End
' Scroll down by 39 lines without changing cursor position
For i = 1 To 39
Selection.MoveDown Unit:=wdLine, Count:=1, Extend:=wdMove
Next i
' Emulate pressing "Space" button
SendKeys " ", True
' Emulate pressing "Backspace" button
SendKeys "{BACKSPACE}", True
' Restore original selection
Selection.SetRange Start:=selStart, End:=selEnd
' Restore original line position
Selection.MoveUp Unit:=wdLine, Count:=originalLine - Selection.Information(wdFirstCharacterLineNumber), Extend:=wdMove
End Sub