VBA 批量删除多个word中的空白行

09-23

在网上复制文本时,很多不必要的空格空行也跟着材料一起被复制粘贴保存了下来,版面就不怎么好看了。而且,材料多时,几十上百页的,要是手动删除,那工程量可够浩大的,有没有什么办法快速批量删除呢?很多人都会使用替换的方式来删除空行,今天小编就带大家学习一下使用VBA来解决这个问题

用Word打开含空行的文章,依次单击“工具” →“宏” →“Visual Basic编辑器”,打开Visual Basic编辑器。双击“Project”下的“ThisDocument”,打开“代码”输入窗口,将下面的代码输入进去,并保存。

代码一:

Sub DelBlank()

Dim i As Paragraph, n As Integer

Application.ScreenUpdating = False

For Each i In ActiveDocument.Paragraphs

If Len(i.Range) = 1 Then

i.Range.Delete

n = n + 1

End If

Next

MsgBox "共删除空白段落" & n & "个"

Application.ScreenUpdating = True

End Sub

代码输入完毕,单击“工具栏”中的“运行”按钮,执行这段代码。这时,会弹出一个消息窗口,告诉你一共删除了多少空行。

代码二:

Sub 宏1()

Selection.WholeStory

Selection.Find.ClearFormatting

Selection.Find.Replacement.ClearFormatting

With Selection.Find

.Text = "(^13){1,}"

.Replacement.Text = "^13"

.MatchWildcards = True

End With

Selection.Find.Execute Replace:=wdReplaceAll

End Sub