设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3738|回复: 5
打印 上一主题 下一主题

为什么用find替换如此的慢?

[复制链接]
跳转到指定楼层
1#
发表于 2015-3-24 22:53:09 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
各位大侠:
有问题想请教,
我用下面两种代码做批量替换
第一种如下,它能保持格式的替换,但速度相当慢,而且替换时鼠标在不停的闪烁
target_doc.Content.Find.Execute findtext:=targetcontent, Replacewith:=replacecontent, Replace:=wdReplaceAll
第二种如下,它能1秒左右替换完毕,但是文档里面的格式、表格、粘贴图片都没了
tbstring = target_doc.Content
tbstring = Replace(tbstring, targetcontent, replacecontent)
为什么有这样的区别?

我用第一种方法,做了以下逐条尝试
With target_doc
        .Visible = True
        .ActiveWindow.View.Type = wdNormalView
        .ScreenUpdating = False
        .Options.CheckSpellingAsYouType = False
        '.DisplayStatusBar = False  由于词句在2010版已无效,就没用
End With
但是都不能提速,所以想问要怎么做才能提速呢?
谢谢!!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2015-3-25 20:19:41 | 显示全部楼层
tmtony 发表于 2015-3-25 17:58
find是有些慢的。
如果不处理其它,只有文字用replace会快不少

可以文件很少只有文字的嘛,
我最不理解的是,正如我上面所写的,我把find套进循环进行批量替换的时候,为什么鼠标会闪个不停呢?
究竟是在刷新什么呢?
能不能关闭这种更新呢?
谢谢指点!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-7 21:39 , Processed in 0.096307 second(s), 25 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表