VBA - Word - 随着时间的推移,遍历段落的速度会令人难以置信地变慢

标签 vba ms-word

我有以下部分代码,随着时间的推移,它的执行速度会减慢。我的 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

最佳答案

像这样的事情应该有效。我相信您已经可以使用它了,但为了后代,这里是 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

关于VBA - Word - 随着时间的推移,遍历段落的速度会令人难以置信地变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39711074/

相关文章:

php - 我正在用 PHP 生成一个 word 文档,如何进行分页?

正则表达式 Word 宏在彼此的范围内找到两个单词,然后将这些单词斜体化?

vba - 使用宏管理 MS Word 2010 中的查找和替换对话框

java - 使用 Apache POI Java NetBeans Word 文档的 CTPageSZ 类中的错误

Excel 应用程序的体系结构

excel - VBA:从 .xls 切换到 .xlsx 文件格式

vba - Word VBA 另存为错误 : incompatible file type and file extension

vba - Excel VBA 脚本中的对象定义错误

excel - 在 Excel 中按列从 Web XML 表中抓取历史汇率

vba - 从 Excel VBA 创建 SQL 表