我有以下部分代码,随着时间的推移,它的执行速度会减慢。我的 Word 文档有超过 200 页和大约 12000 个段落。在第 3000 段左右,可以说执行速度比开始时慢了几倍。
有什么办法可以让速度保持在同一水平?也许遍历段落对于大文档根本没有办法?
Dim worddoc As Word.Document
Dim ParaCount as long, J as long, x as long
Dim RowData as string
With worddoc
ParaCount = .Paragraphs.Count
For J = 1 To ParaCount
RowData = .Paragraphs(J).Range.Text
x = x + 1
If x Mod 10 = 0 Then Application.StatusBar = x
Next ParaCount
End With
Run Code Online (Sandbox Code Playgroud)
像这样的事情应该有效。我相信你已经让它工作了,但对于后代来说,这里是For Each提到的方法。
Public Sub Iterate_Paragraphs()
Dim Paragraph As Word.Paragraph
For Each Paragraph In ActiveDocument.Paragraphs
Debug.Print Paragraph.Range.Text
Next
End Sub
Run Code Online (Sandbox Code Playgroud)