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

时间:2022-09-10 02:55:00

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

按照传统的方法,我们只能一一打开Word文档,按规定的格式对标题和段落进行格式化处理。这样做显然效率太低。如果使用VBA录制宏,给Word加入多文件处理的相关代码,便可实现对同一目录中的Word文件进行自动整理。本文以Word 2010为例。

录制格式替换的宏

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

Dim myPas As String, myPath As String, i As Integer, myDoc As Document

With Application.FileDialog(msoFileDialogFolderPicker)

.Title = "选择目标文件夹"

If .Show = -1 Then

myPath = .SelectedItems(1)

Else

Exit Sub

End If

End With

myPas = InputBox("请输入打开密码:")

Set fso = CreateObject("Scripting.FileSystemObject")

Set oFolder = fso.GetFolder(myPath)

Dim oSubFolder, oFile

For Each oFile In oFolder.Files

Set myDoc = Documents.Open(FileName:=oFile.Path, Passworddocument:=myPas)

3. 在最后一行End Sub前加入代码如下:

myDoc.Save

myDoc.Close

Set myDoc = Nothing

Next

Application.ScreenUpdating = True

格式整理

按F5键,运行程序,选择Word文件所在文件夹,点击“确定”,若没有打开密码,就直接点击“确定”。

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

上一篇:美国大学的创造性人才的培养:策略与模式 下一篇:新软物语 第23期