如何通过VBA删除word最后一页空白页

我录制宏时通过按Ctrl+End将光标定位到最后一页最后一行的最后,然后按PageUp到上一页,然后del。但发现按PageUp后,光标不是定位到倒数第二页最后一行的最后,所以把文本给删除了。
请问如何通过VBA实现。
最后一页与倒数第二页之间应该有个分隔符(Section分隔符),或者高手看看能否有办法通过VBA找到文档的最后一个分隔符,然后把光标定位于其之前,del即可。谢谢!
我也知道可以实现,如何实现?
解决了,呵呵
将光标移动到文档末尾,查找替换即可,查找^b (Section分隔符),替换为空。
Selection.EndKey Unit:=wdStory
'Find upward and replace the last Section Break which can be displayed by switching to Normal layout.
With Selection.Find
.ClearFormatting
.Execute findText:="^b", ReplaceWith:="", Replace:=True, Format:=False, Forward:=False, Wrap:=wdFindStop
End With

第1个回答  2009-07-16
应该可以实现,删除最后一页可以吧
!!!!!!!!!!!
Sub 删除最后页()
Dim ra As Range
Dim ra_1 As Range
Dim ra_2 As Range

Application.ActiveDocument.Select
PageCount = ActiveDocument.BuiltInDocumentProperties(wdPropertyPages)

Set ra = Selection.Range

Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Name:=PageCount
Selection.Select
Set ra_1 = Selection.Range

Selection.EndKey Unit:=wdStory
Selection.Select
Set ra_2 = Selection.Range
ra.Start = ra_1.Start
ra.End = ra_2.End
ra.Select
Selection.Delete
Selection.TypeBackspace
End Sub本回答被提问者采纳
第2个回答  2009-07-16
Sub Macro1()
Dim i As Integer, n As Integer
Application.ScreenUpdating = False
n = 0
temp = ActiveDocument.Paragraphs.Count
For i = temp To 1 Step -1
If Len(Trim(ActiveDocument.Paragraphs(i).Range)) = 1 Then
ActiveDocument.Paragraphs(i).Range.Delete
n = n + 1
Else
Exit For
End If
Next
MsgBox "共删除空白段落" & n & "个"
Application.ScreenUpdating = True
End Sub
相似回答