ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 付费求解决Word批量处理大量Word文档的问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-3-1 15:41 | 显示全部楼层 |阅读模式
本帖最后由 天天快活似神 于 2012-3-2 02:00 编辑

因为工作原因,学习宏三天,只会一点点修改的基础。老实说,对于很多朋友提供的代码都是看不懂的,只能一点点的去摸索,但是现在因为工作进度的关系,必须尽快掌握或者是获得需要的代码,所以才开一个付费求助的帖子,请版主见谅:

具体情况是这样的,单位手里有一批大约三万到五万份的Word文档需要做以下处理:
1、统计出所有文档里面关于“我们集团”这个词的使用频率,或者说就是要知道在这三万到五万份Word文档里一共有多少个“我们集团”这个词,不用具体到每一个文档,只需要总数字就好了!(不敢乱写,万一真的有技术上能查询到的,到时候工作不保);
2、批量对所有文档里面的部分词进行替换,关于这一点,我根据站内wjhere的帖子里面提供的宏,修改了一下,已可以用于单个Word文档,但是还不能用来批量处理,不知道那位朋友能帮我把它写成可以对大批量文档进行同时替换的?

以下是代码(如果有不明白的伙伴可以看一下提示,我是写给自己和同事看的,怕不懂):
Sub test()
Dim I As Byte
Dim StrFind As String
Dim strReplace As String
For I = 0 To 3   '这里是决定你下面有多少个要修改的地方,有两个就写0 To 1,六个就是写0 To 5
StrFind = Split("集团,董事长,邱XX,林XX", ",")(I)        '这里原本中间的分隔符号是中文的逗号,但是我发现这样会影响到中文文档,如果替换的原文里有中文逗号就会出错,修改成英文逗号比较方便
strReplace = Split("本单位,代理董事长,王XX,陈XX", ",")(I)        '这里必须和上面位数一致,同时如果是替换为空白的,就直接留白
FindReplace StrFind, strReplace '替换
Next
End Sub
Sub FindReplace(strF As String, strR As String) '子程序
Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = strF
        .Replacement.Text = strR
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = True
        .MatchWildcards = True   '我把通配符改为开启,有不需要用通配符的伙伴就关闭掉好了
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

3、也是最麻烦的,虽然不抱很大希望能够通过技术上来实现,但还是要发布上来试试,也许真的有人会也说不定;
单位旗下有一个教育机构,他们有一批卷子需要我们做格式处理,但是因为原始的卷子实在太多了,应该也有两三万份,所以就希望能够用技术上来实现,具体格式如附件 范例文档.rar (7.33 KB, 下载次数: 26)

这些卷子唯一有规律的地方就是每一道题目的子题和答案里都有1)、(2)、(3)这样的序号,也许可以从这里入手!

4、附加一项新的需求,有没有办法在文档的特定位置添加文档的本身标题的,比如某篇文档,文档名称为“集团50年发展纲要”,现在需要把它添加到文档内容里一个【文章标题】的标签下,这个有没有办法实现呢!


如果真的有朋友能够帮忙,我在这里先表示感谢。如果涉及到一些源码等,我们也愿意以一定的费用来购买下使用权,具体情况可以在下面回复或者加我的QQ:503316434,谢谢!!!


TA的精华主题

TA的得分主题

 楼主| 发表于 2012-3-2 13:56 | 显示全部楼层
只是一个晚上的时间,站内兄弟sqhsqhli就帮我把前面的两个问题都为我解决了,还帮我设计了两个小软件,实在是太感谢了!!!

TA的精华主题

TA的得分主题

发表于 2012-3-2 14:54 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-3-5 21:57 | 显示全部楼层
目前三四两项还没有找到解决的方法!!!

TA的精华主题

TA的得分主题

发表于 2012-3-6 08:45 | 显示全部楼层
问题4大概这样:
Sub n()
ActiveDocument.Bookmarks("已经存在的书签").Range.InsertAfter ActiveDocument.Name
End Sub

问题3你给的例子有点简单了,上个带有普遍性完整的附件为好,不然劳神费力做出来的东西放到其他上面出错

TA的精华主题

TA的得分主题

发表于 2012-3-11 14:15 | 显示全部楼层
如果问题3能够有通用的解决方案,一定是广大教育行业同仁的福音。
个人有个思路,不知道可不可行。如果能把word文档按照预订的xml模板输出,然后再通过对xml解析汇聚出固定格式的word文档,可能是比较通用的解决方法。不知道那位大神可以解决。
当然,这个思路对我也有很大的帮助,我有一批txt和doc文件,需要格式化为特定的xml文件。暂时想不出来如何用vba来解决,txt可以通过php来解决,doc就不知道怎么办了。
{:soso_e127:}

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-3-11 20:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我试了一下,有XML解析也还是有一定难度

TA的精华主题

TA的得分主题

发表于 2012-3-12 09:15 | 显示全部楼层
关于第三个问题,如果格式只是附件那样,感觉还是可处理的,只是附件似乎没有代表性,一来没有图,二来文档的任何位置就没有其他既不是题目也不是答案的内容吗?另外,所说的唯一特征中的括号都是全角的吗?

TA的精华主题

TA的得分主题

发表于 2018-5-4 16:48 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-12 01:56 , Processed in 0.025584 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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