VBA代码——批量删除word中的页眉页脚,并提示出错位置,详细标注

		Sub 批量删除页眉页脚()
		
		'此代码功能为列出指定文件夹中所有选取的WORD文件全路径名
		
		Dim myDialog As FileDialog, oDoc As Document, oSec As Section
		
		Dim oFile As Variant, myRange As Range    ’Variant 变体型,即任意类型
		
		'On Error Resume Next  ‘脚本执行发生错误后不停止
		 On Error GoTo ErrHandler '出现错误后跳转
		
		'定义一个文件夹选取对话框
		
		Set myDialog = Application.FileDialog(msoFileDialogFilePicker)
		
		With myDialog          'with简化赋值语句
		
		 .Filters.Clear  '清除所有文件筛选器中的项目,确保所有的条件都显示
		
		 '增加筛选器的项目为所有Word文件,添加文件类型的项目位置,该参数从1开始
          .Filters.Add "所有Word文件", "*.doc,*.docx", 1         
		
		 .AllowMultiSelect = True   '允许多项选择
		
		If .Show = -1 Then    '确定   显示对话框,等待用户操作,-1 为用户进行了确认操作
		
		For Each oFile In .SelectedItems   '在所有选取项目中循环
		
		Set oDoc = Word.Documents.Open(FileName:=oFile, Visible:=False)
		
		
		For Each oSec In oDoc.Sections '文档的节中循环
		On Error Resume Next
		
		Set myRange = oSec.Headers(wdHeaderFooterPrimary).Range
		
		myRange.Delete  '删除页眉中的内容
		
		'将页眉所在段落的底部设置为无边框模式
        myRange.ParagraphFormat.Borders(wdBorderBottom).LineStyle = wdLineStyleNone  
 
		'ParagraphFormat 段落格式,Borders 对象的边框
		'Border.LineStyle 返回或设置指定对象的边框线型。
		
		Set myRange = oSec.Footers(wdHeaderFooterPrimary).Range
		
		myRange.Delete '删除页脚中的内容
		On Error GoTo ErrHandler
		Next
		
		oDoc.Save
		oDoc.Close 
		Set oDoc = Nothing
		
		Next
		
		End If
		
		End With
		
		Exit Sub
		
		ErrHandler:
    Dim errMsg As String
    errMsg = "删除页眉页脚时发生错误:" & vbCrLf & _
             "错误编号:" & Err.Number & vbCrLf & _
             "错误描述:" & Err.Description
    response = MsgBox(errMsg & vbCrLf & "是否退出?", vbYesNo + vbCritical)
    If response = vbYes Then
        Exit Sub
    Else
        Resume
    End If
End Sub

在 Word 文档中,每个页面可以分为不同的“节”(Section),通过分节可以为不同的页面设置独立的页码、页眉、页脚等格式,并且可以在每个节中进行不同的操作。因此,如果需要批量删除页眉页脚,需要先确定要删除的页眉页脚所在的节,然后对每个节进行操作。

相反,如果是要批量替换文本内容,文本可以位于页面的任何位置,并不一定受到某个节的影响。因此,在批量替换文本内容时,不需要显式的定义节。

对于特殊设置的页眉页脚,本代码会出现无法删除的情况

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

谷雨之际

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值