word用vba选中某一段中某几个字符怎么写 10
1个回答
2018-06-07 · 知道合伙人互联网行家
关注
展开全部
提供一个方案给楼主参考,可以批量修改多个文档中某个指定文字的属性:
1、启动Word后,键入Alt+F11打开VBA编辑窗口;
2、选择菜单“插入->模块”,然后在代码编辑区中粘贴如下代码:
Option Explicit
Const g_strRootPath = "c:\Docs\" ' 指定存放所有文件的目录,可以有子目录
Const g_strTextToFind = "茶" ' 需要批量查找修改格式的文字内容
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
3、修改代码开始处的两个参数:存放所有需要批量修改文档的根目录(下面可以包含子目录,比如“C:\Docs”),需要修改的文字(比如“茶”字,也可以是一个词或者句子);
4、修改“主函数”里面想要设置的字体属性,如字号、颜色、加粗、斜体、下划线,等等;
4、键入F5运行,直到看到“完成!”。
5、检查各个文档里面指定的文字是否已经被设置成了指定的格式。
1、启动Word后,键入Alt+F11打开VBA编辑窗口;
2、选择菜单“插入->模块”,然后在代码编辑区中粘贴如下代码:
Option Explicit
Const g_strRootPath = "c:\Docs\" ' 指定存放所有文件的目录,可以有子目录
Const g_strTextToFind = "茶" ' 需要批量查找修改格式的文字内容
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
3、修改代码开始处的两个参数:存放所有需要批量修改文档的根目录(下面可以包含子目录,比如“C:\Docs”),需要修改的文字(比如“茶”字,也可以是一个词或者句子);
4、修改“主函数”里面想要设置的字体属性,如字号、颜色、加粗、斜体、下划线,等等;
4、键入F5运行,直到看到“完成!”。
5、检查各个文档里面指定的文字是否已经被设置成了指定的格式。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |