注册 登录
编程论坛 VB6论坛

VB6.0 使用修改过的word宏代码实现全部替换的功能,但是效率太慢

qq11223456 发布于 2016-05-05 16:16, 1623 次点击
VB6.0 使用修改过的word宏代码实现全部替换的功能,但是效率太慢   是什么问题  或者有没有更效率的办法
使用宏是为了全部替换一些关键字符串,然后控制表格的添加行  还有给表格添加内容
 wordapp.Selection.Find.ClearFormatting
    wordapp.Selection.Find.Replacement.ClearFormatting
    For i = 0 To UBound(Tzheng) Step 1
        With wordapp.Selection.Find
            .Text = Tzheng(i)
            .Replacement.Text = Nrong(i)
            .Forward = True
            '.Wrap = wdFindAsk
            .Wrap = wdFindContinue
            .Format = False
            .MatchCase = False
            .MatchWholeWord = False
            .MatchByte = True
            .MatchWildcards = False
            .MatchSoundsLike = False
            .MatchAllWordForms = False
        End With
        wordapp.Selection.Find.Execute Replace:=wdReplaceAll
        StatusBar1.Panels(4).Text = i & "-" & Tzheng(i) & ":" & Nrong(i)
word本身使用一样的宏速度是秒记    用VB使用修改后的宏代码就是分钟计  而且是10分钟左右……
这是什么为什么呢



我有另一个方法    能比较快得全部替换   但是稳定性不太好  容易出错
Dim MyWord As Word.Application
Dim MyWordBook As Word.Document
Set MyWord = CreateObject("Word.Application")

Do While MyWordBook.Content.Find.Execute("要被替换的内容")
    With MyWordBook.Content
        If .Find.Execute("要被替换的内容") Then
            .Text = 替换的内容
        End If
    End With
Loop
而且这个方法使用之后  我不会怎么控制表格和为表格添加内容

希望大家互相讨论   看看有什么更好的办法     效率更快的办法

[此贴子已经被作者于2016-5-5 16:26编辑过]

0 回复
1