欢迎您访问我爱IT技术网,今天小编为你分享的电脑教程是office系列之word教程:【Word中以VBA实现的自动翻页功能与文档结构图显示不同步[word学习]】,下面是详细的分享!
Word中以VBA实现的自动翻页功能与文档结构图显示不同步[word学习]
问题:我是VBA的初学者,手上有长Word文档需阅读,为强迫自己能够看完,欲实现自动翻页功能,用了以下两种方法:
方法一
Option Explicit Dim 结束翻页 As Boolean Dim SSS As Integer Sub stop() 结束翻页 = True End Sub Sub start() SSS = Timer 结束翻页 = false Do If 结束翻页=true Then Exit Do If Timer >= SSS + 5 Then Application.Browser.Next SSS = Timer End If DoEvents Loop End Sub ========方法二 Option Explicit Dim 结束翻页 As Boolean Sub stop() 结束翻页 = True End Sub Sub start() 结束翻页 = False Application.OnTime Now + TimeValue("00:00:05"), "do_it" End Sub Sub do_it() If 结束翻页 = False Then Application.Browser.Next start End If End Sub
两种方法均可实现翻页的功能,但第一种方法用起来太夸张,CPU总是100%;第二种方法比较理想,绝对的轻松。
然而问题是,我的Word文档都设有九级目录,看书的时候习惯于将正文与文档结构图对照着看,以理清自己的思路。在快速速读的时候,这个功能就更有作用。
第一种方法,随着自动翻页,文档结构图中的各级目录也会跟着跳转,书翻到哪里,目录的反蓝显示也就跳到哪里。
第二种方法,却无法实现这个功能,目录的反蓝显示永远只在初始的位置。除非书自动翻页以后,在页面中用鼠标点一下,反蓝的目录才会跳转。
这个问题我想是出在使用时间控件的时候,闪烁的光标的性质和正常的光标插入点的性质有点不一样,在翻页后用了插入“”的语句也不行。
请各位前辈帮助解决文档结构图中目录反蓝显示随自动翻页跳转的问题。
解答:
可以试下:
Option Explicit Dim myByte As Byte Sub myStart() If Selection.Paragraphs(1).Range.IsEqual(ActiveDocument.Content.Paragraphs.Last.Range) = True Then myByte = 100 Else myByte = 10 End If Application.OnTime Now + TimeValue("00:00:05"), "Do_it" Application.ScreenUpdating = False ActiveDocument.ActiveWindow.DocumentMap = False ActiveDocument.ActiveWindow.DocumentMap = True Application.ScreenUpdating = True End Sub Sub Do_it() If myByte = 0 Then Selection.HomeKey wdStory myStart ElseIf myByte = 10 Then Selection.MoveDown Unit:=wdScreen, Count:=1 myStart Else myByte = 0 End If End Sub Sub myStop() myByte = 100 End Sub
以上就是关于Word中以VBA实现的自动翻页功能与文档结构图显示不同步[word学习]的word教程分享,更多电脑教程请移步到>>电脑教程频道。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
