ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 有20个word文件,需要对每个文件中的编号更改,有否自动软件替换?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-11-23 16:54 | 显示全部楼层 |阅读模式
比如:20个word文件中,在页眉中所有文件编号为QP-0101~QP0119,分20个文件,有没有什么软件,对20个文件中页眉的文件编号文字进行自动修改成为:HL/QP-0101~HL/QP0119。

谢谢。

TA的精华主题

TA的得分主题

发表于 2010-11-23 17:02 | 显示全部楼层
建议录制宏再修改一下代码。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-11-23 21:57 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢版主回复,我是想不一个一个打开文件,直接用软件替换,如windows 搜索功能,虽然可以搜索,但是没替换功能,找到个能替换的,但有不能查找页眉。
    用宏虽然可以实现,那等于跟替换命令差不多了,要一个一个打开,然后按快捷键。

不知道有没有更好的思路,谢谢。

[ 本帖最后由 sihai889 于 2010-11-23 21:58 编辑 ]

TA的精华主题

TA的得分主题

发表于 2010-11-23 22:00 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-11-23 22:30 | 显示全部楼层
我找到这一段代码,但是是对属性设置的,我对这个一窍不通。烦请版主帮我更改一下,谢谢。
1、我不更改属性内容,只对改查找的文字内容进行替换
2、另外就是在一个文件中建立的宏,如何保存,如何在每个文件中运行?有什么快捷键,谢谢。


Option Explicit

Const g_strRootPath = "C:\Documents and Settings\Administrator\桌面\02 程序文件"    ' 指定存放所有文件的目录,可以有子目录
Const g_strTextToFind = "QP"        ' 需要批量查找修改格式的文字内容

Dim g_oTargetFont As New Font

' 主函数
Sub Main()

    Dim fso, oFolder

    ' 设置需要修改的字体属性
    g_oTargetFont.Size = 18                     ' 字号
    g_oTargetFont.Color = wdColorRed            ' 颜色
    g_oTargetFont.Bold = True                   ' 是否加粗(True加粗,False正常)
    g_oTargetFont.Italic = True                 ' 是否斜体(True斜体,False正常)
    g_oTargetFont.Underline = wdUnderlineDash   ' 下划线风格
    '...    设置其他字体属性
   
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set oFolder = fso.GetFolder(g_strRootPath)

    ChangeFontStyleForFilesUnderFolder fso, oFolder

    MsgBox "完成!"

End Sub

' 修改指定文件夹(递归)下面的所有Word文件中指定文字的格式
Sub ChangeFontStyleForFilesUnderFolder(fso, oFolder)
   
    Dim oSubFolder, oFile

    For Each oSubFolder In oFolder.SubFolders
        ChangeFontStyleForFilesUnderFolder fso, oSubFolder
    Next

    For Each oFile In oFolder.Files
        Documents.Open oFile.Path
        ChangeFontStyleForActiveDocument
        ActiveDocument.Close True
    Next

End Sub

' 修改当前打开文档里面所有指定文字的格式
Sub ChangeFontStyleForActiveDocument()

    Selection.StartOf wdStory
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = g_strTextToFind
        .Replacement.Text = "^&"
        .Replacement.Font = g_oTargetFont
        .Forward = True
        .Wrap = wdFindContinue
        .Format = True
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchAllWordForms = False
        .MatchSoundsLike = False
        .MatchWildcards = True
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

TA的精华主题

TA的得分主题

发表于 2010-11-23 23:11 | 显示全部楼层
下面附件是按照你的要求做的,另行复制你的文件到同一个文件夹试试看

批量对Word进行设置.rar

12.38 KB, 下载次数: 71

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-11-24 00:34 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢:szqhb兄的帮忙,确实可以了。没想到word功能也如此强大,另外还想请教以下几个问题:
1、如果我要替换多处,
   Text = "QP"
       Replacement.Text = "HL/QP"
这两行代码,我可以再复制,修改“”引号里的内容达到目的吗?
2、如果要更换替换后的格式的话,如字体大小,字体,应该怎样加语句。

我不懂VB,只能照抄、修改,
再一次谢谢兄台解决了我工作上的难题。

TA的精华主题

TA的得分主题

发表于 2010-11-24 20:30 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
1、单单修改这两句代码是不行的,将下面整一段复制粘贴于此段的后面,再修改查找与替换的值(自己录制也可)
With Selection.Find
        .Text = "QP"'需查找的内容
        .Replacement.Text = "HL/QP"'要替换的内容
.Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = True
        .CorrectHangulEndings = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
(将上段复制于此处)
2、字体字号也可自行录制,或将下面代码粘贴在末尾
      Selection.WholeStory'全选页眉内容
    Selection.Font.Name = "黑体" '字体,据需修改
    Selection.Font.Size = 14 '字号,据需修改

[ 本帖最后由 szqhb 于 2010-11-24 20:31 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-11-24 22:40 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-5-9 12:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
很厉害!我们文件都是编号的,相当于中间删除几个,后面的编号全部都得变,只改变数字编号就行,我也下载了这个附件,可是不会用,请求帮助!非常感谢O(∩_∩)O~
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

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

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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