标题:VB6.0 使用修改过的word宏代码实现全部替换的功能,但是效率太慢
只看楼主
qq11223456
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2014-10-20
结帖率:100%
 问题点数:0 回复次数:0 
VB6.0 使用修改过的word宏代码实现全部替换的功能,但是效率太慢
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编辑过]

2016-05-05 16:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-464430-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.847745 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved