如何在VBA中改进对大Word表的浏览?

时间:2015-09-15 06:37:56

标签: ms-word word-vba

我碰巧有一个包含1,300行和4列的Word表。该表包含具有其主要特征的文档列表。 然后我想在一个数组中上传该表的内容,以获得一些过滤功能的最大性能。 我的问题是上传持续时间随着Word表的大小呈指数增长:对于300行,需要几秒钟,对于600行,使其为15秒,对于1200行,它超过60秒。 我已经测试了几种浏览表格的方法,例如:

Dim My_Table as Table
Dim My_array(1 to 1300, 1 to 4) as string
Nb_Cols = My_Table.Columns.Count
Nb_Rows = My_Table.rows.count

For I = 1 to Nb_Rows
    For J = 1 to Nb_Cols
        My_Array(I,J) = My_Table.Cell(I,J).Range.Text
    Next J
Next I

我测试的其他方法都没有改进代码性能,其中一些已经使它变得更糟!例如 : - 为My_Table定义范围,并浏览此范围的单元格。 - 将表格转换为文本然后浏览段落(转换为文本需要年龄!)

任何能够接近我梦寐以求的线索,比如在Excel中:

My_array = My_table ???

感谢您解决这些问题的任何线索。

P.S。 :当然我考虑将我的大表存储在Excel电子表格中,但这意味着在我的程序集中创建Excel的动态链接,这有其它缺点。

非常好的问候。 S.C.(63200 RIOM - 法国)

0 个答案:

没有答案