按照传统的方法,我们只能一一打开Word文档,按规定的格式对标题和段落进行格式化处理.这样做显然效率太低.如果使用VBA录制宏,给Word加入多文件处理的相关代码,便可实现对同一目录中的Word文件进行自动整理.本文以Word2010为例.
录制格式替换的宏
1.打开Word程序,按Ctrl+H,调出“查找和替换”对话框,点击“更多”,勾选“使用通配符”;
2.在“查找内容”中输入*(意思为任何内容),点击“格式”,选“样式”,在“查找样式”中选“正文”(图1);
3.在“替换为”中输入^&(意思为查找到的内容),点击“格式”,选“字体”,在此设置新的字号,如5号字(图2);
4.点击“格式”,选“段落”,设置好新的行距,例如1.5倍行距(图3);
5.不要关闭对话框,点击Word主窗口中的“视图”选项卡,点“宏”按钮下的三角形按钮,选“录制宏”,点击“确定”(图4);
6.点击“查找和替换”对话框中的“全部替换”,点击“确定”;
7.点“宏”按钮下的三角形按钮,选“停止录制”.
加入多文件处理
1.点“宏”按钮,选择刚录制的宏(如宏1),点击“编辑”;
2.在第一行“Sub宏1()”后,加入代码如下:
Application.ScreenUpdating等于False
DimmyPasAsString,myPathAsString,iAsInteger,myDocAsDocument
WithApplication.FileDialog(msoFileDialogFolderPicker)
.Title等于"选择目标文件夹"
If.Show等于-1Then
myPath等于.SelectedItems(1)
Else
ExitSub
EndIf
EndWith
myPas等于InputBox("请输入打开:")
Setfso等于CreateObject("Scripting.FileSystemObject")
SetoFolder等于fso.GetFolder(myPath)
DimoSubFolder,oFile
ForEachoFileInoFolder.Files
SetmyDoc等于Documents.Open(FileName:等于oFile.Path,Passworddocument:等于myPas)
3.在最后一行EndSub前加入代码如下:
myDoc.Se
myDoc.Close
SetmyDoc等于Nothing
Next
Application.ScreenUpdating等于True
格式整理
按F5键,运行程序,选择Word文件所在文件夹,点击“确定”,若没有打开,就直接点击“确定”.
(注:使用时,不能打开要整理的文件.)