利用VBA实现大批文格式整理

更新时间:2024-02-03 作者:用户投稿原创标记本站原创 点赞:4693 浏览:15841

按照传统的方法,我们只能一一打开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文件所在文件夹,点击“确定”,若没有打开,就直接点击“确定”.

(注:使用时,不能打开要整理的文件.)