在显示宏中的消息框(msgbox
)之前,我需要VBA(Word)滚动到文档中的特定位置。
我尝试过:
ActiveWindow.ScrollIntoView Selection.Range, True
DoEvents
通话之前添加了Msgbox
。没用。Msgbox
Msgbox
之前添加了一个睡眠计时器和其他延迟。没用。Application.Screenrefresh
没有任何效果。 Msgbox
始终将光标显示在宏运行之前的位置。
但是,如果我逐步执行VBA编辑器中的代码,则一切正常。只有在我运行代码“直通”时,它才在显示msgbox之前从未观察到ScrollIntoView命令。
(从文档顶部开始) (在第3页上搜索文字;如果找到了……)
ActiveWindow.ScrollIntoView Selection.Range, True
DoEvents
Application.ScreenRefresh
Selection.Bookmarks.Add "Prompt"
Selection.Bookmarks("Prompt").Select
DoEvents
Selection.Range.Select
MsgBox " TASK: " & PromptIs & String(2, 13) & " Click OK below and perform the stated task."
在显示消息框之前,光标应位于找到的文本上,并且文本应在“视图中”。不是。