大家好,我们今日继续讲解VBA代码解决方案的第143讲内容:利用VBA在Word中删除空白的段落。我们在实际利用VBA的时候,如EXCEL中经常的操作就是删除空白行,那么在Word中可否能实现这个功能呢?答案当然是肯定的,在这类问题上,VBA真的可以发挥到极致。今日我们就讲解这个知识点。
看看代码:
Sub mynzdetp()
Dim myParagraph As Paragraph, n As Integer
Application.ScreenUpdating = False
n = 1
For Each myParagraph InActiveDocument.Paragraphs
If Len(Trim(myParagraph.Range)) = 1 Then
myParagraph.Range.Delete
n = n + 1
End If
Next
MsgBox "本次共删除空白段落" & n - 1 & "个"
Application.ScreenUpdating = True
End Sub
代码截图:
代码的讲解:
①Dim myParagraph As Paragraph, n As Integer 定义段落和删除数量的自变量
②Application.ScreenUpdating = False 关闭屏幕刷新
③然后将用一个FOR EACH循环来遍历每个段落
④当Len(Trim(myParagraph.Range))= 1时那么将删除这个段落,大家是否理解这句的含义呢?一会儿我们做做测试。
⑤myParagraph.Range.Delete 如果Len(Trim(myParagraph.Range)) = 1成立那么将删除这段
n = n + 1 段落的标识增加1
我们先看看代码的运行:
运行前: