ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 11755|回复: 27

[求助] 请教高手:用word替换功能如何实现超过字符数限制

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-11-14 10:32 | 显示全部楼层 |阅读模式
我要实现这样的目的:从论坛复制下来的文字,要选择性地删除以某种特征字符开头和结尾的大段大段文字,这些文字段落有的超过255个字符,当超过255个字符时word就不能操作,有没有实现这个功能的方法?
如果处理量不大完全可以手工操作,对于有数百页上千页的文档,我想到了用替换的方法来实现,下面给出一个实例:

大段落替换实例.rar

11.16 KB, 下载次数: 48

TA的精华主题

TA的得分主题

发表于 2014-11-14 11:17 | 显示全部楼层
针对你提供的实例:
查找内容:^13与上面类似,*“对第2章的讨论”。^13
注意:√ 使用通配符

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-11-14 11:52 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
首先感谢您的回复。
    我就是应用了通配符啊,我的问题是,这样的搜索只对搜索对象在255个字符数以下才有效,如果该段落字符数超过255限制,word就不执行搜索,我现在是想得到一个方法可以突破word的这个限制,用宏代码也可以,您有这样的代码吗?先谢谢。

TA的精华主题

TA的得分主题

发表于 2014-11-14 12:10 | 显示全部楼层
楼主要解决的是
对第2章的讨论。

对第2章的讨论”。
句号前有无右双引号的问题,并不是Word查找存不存在255个字数限制的问题。

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-11-14 12:31 | 显示全部楼层
周星骋 发表于 2014-11-14 12:10
楼主要解决的是
对第2章的讨论。

不是这样的,我就是要突破word对255个字符限制的搜索,多次试验证明,word搜索内容是限制在255个字符以内的,超过了不执行,我的最终目的是要在长文档中删除以某某字符开头,再以某某字符结尾的,中间有大量字符的大段大段的内容,如果有这样的代码更好。
至于所用实例的内容只是随便找来的,与内容无关,哪怕所有字符都用一个随便的字符替代也无妨,重点是讨论这种方法。

TA的精华主题

TA的得分主题

发表于 2014-11-14 12:56 | 显示全部楼层
“word搜索内容是限制在255个字符以内的”
255个字符限制,应该是仅仅针对“查找内容”栏中而言的,而不是指文档中所查找的目标字符串长度。
如果你复制一段长度超过255个连续字符的字符串粘贴到“查找内容”栏中,你会发现实际保留的只是前面的255个连续字符。

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-11-14 14:23 | 显示全部楼层
kqbt 发表于 2014-11-14 12:56
“word搜索内容是限制在255个字符以内的”
255个字符限制,应该是仅仅针对“查找内容”栏中而言的,而不是 ...

谢谢回复。
    并非像您说的那样“255个字符限制,应该是仅仅针对“查找内容”栏中而言的,而不是指文档中所查找的目标字符串长度。”
    实际情况是:无论查找栏还是替换栏,都有255个字符数限制。在查找栏中超过255后就无法再键入任何字符。在word内部程序执行时,word不会对超过255字符的对象做出反应。我上面给出的实例已经有说明,实例中第二段符合查找条件的内容,由于该段落字符数超过限制,word根本就不执行,你点击查找或替换按钮,word无动于衷,没有任何反应,也有的时候word会稍长一点时间在后台做搜索动作,最后没有任何选中或替换动作。
    我想要达到这个目的,也可以通过代码来实现,但是我的水平太差,不会编码。

TA的精华主题

TA的得分主题

发表于 2014-11-14 14:44 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
limshanb 发表于 2014-11-14 14:23
谢谢回复。
    并非像您说的那样“255个字符限制,应该是仅仅针对“查找内容”栏中而言的,而不是指文档 ...


问题说得有点复杂了。关键在于楼主是如何来进行“查找”操作的?
不知是不是直接将要查找的整段文本复制或者录入到“查找内容”栏中?如果是这样,那就存在上面说的255个字符限制的问题;但是话说回来这样的查找意义似乎并不大。
另外,从正确使用“通配符”的角度来说,“查找和替换”就不存在255个字符限制的问题啊!

TA的精华主题

TA的得分主题

发表于 2014-11-14 18:08 | 显示全部楼层
limshanb 发表于 2014-11-14 14:23
谢谢回复。
    并非像您说的那样“255个字符限制,应该是仅仅针对“查找内容”栏中而言的,而不是指文档 ...

说你还不相信。
你所提供附件的例子中,
所谓的第一段,可以看成以“对第2章的讨论。”结尾,不含右引号。
所谓的第二段,只有“对第2章的讨论”。”,其中有右引号。
自己仔细检查了再说。

TA的精华主题

TA的得分主题

发表于 2014-11-14 22:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 pipiludaxian 于 2014-11-15 10:30 编辑

Sub test() '删除特定句子开头,特定句子结尾的部分
Dim myrange As Range
Selection.HomeKey wdStory
tt:
With Selection.Find
        .ClearFormatting
        .Text = "与上面类似,"
        .Forward = True
        .Wrap = wdFindStop
    Do While .Execute
        With Selection
             mya = Selection.Start
             .Collapse wdcollapse
             Debug.Print mya
             GoTo kk
        End With
    Loop
End With
kk:
With Selection.Find
    .ClearFormatting
    .Text = "对第2章的讨论。"
    .Forward = True
    .Wrap = wdFindStop
    Do While .Execute
         myb = Selection.End
         Selection.Collapse wdcollapse
         Debug.Print myb
         Set myrange = ActiveDocument.Range(mya, myb)
         myrange.Delete
         GoTo tt
     Loop
End With
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-16 15:44 , Processed in 0.024737 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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