怎样使用VBA批量删除word中空行
1个回答
展开全部
在网上复制文本时,很多不必要的空格空行也跟着材料一起被复制粘贴保存了下来,版面就不怎么好看了。而且,材料多时,几十上百页的,要是手动删除,那工程量可够浩大的,有没有什么办法快速批量删除呢?很多人都会使用替换的方式来删除空行,今天小编就带大家学习一下使用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
用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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询