|
楼主 |
发表于 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 |
|