利用VBA代码提取Word文档的最后一页
2015-04-29
由于某些原因,经常需要对页数不固定的文档进行特殊处理,领导的要求是只提取最后一页,如果每次都是手工操作,显然既麻烦而且又容易出错。其实,我们可以利用VBA代码解决这一问题:
按下“Alt+F11”组合键,打开Microsoft Visual Basic for Applications编辑器窗口,依次选择“插入→模块”,在右侧窗格插入一个空白模块,如图2所示,手工输入或粘贴如下代码:
Sub保留最后一页( )
Dim Pages As Long
With ActiveDocument
Pages = .ComputeStatistics(wdStatisticPages)
.SaveAs filename:=.Path & "\最后一页-" & .Name '改名存盘
.Range(0, .Range(0, 0).GoTo(wdGoToPage, wdGoToAbsolute, Pages).Start).Delete '删除内容,如果只有一页也不影响
.Close True '当前文档已变为另存后的文档,保存修改
End With
End Sub
上述代码中的代码名“保留最后一页”可以任意命名,“.SaveAs filename:=.Path & "\最后一页-" & .Name”是提取最后一页的文档命名格式,可以根据实际情况进行设置,“'”后面的内容是对相应代码的解释,对代码的运行没有任何影响。代码检查没有错误之后,依次选择“文件→关闭并返回到Microsoft Word”命令,或者按下“Alt+Q”组合键,返回Word主界面,按下“Alt+F8”组合键,打开“宏”对话框,选择并运行宏,虽然没有任何提示,但Word会在后台自动完成源文档最后一页的提取、保存,最后一页会在文件名前面加上“最后一页-源文档文件名”的格式进行保存,我们只需要进入当前文件夹查看即可,最终效果如图2所示。