|
本帖最后由 天天快活似神 于 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,谢谢!!!
|
|