+ -
当前位置:首页 → 问答吧 → [求助]如何批量删除一个文件夹下所有Word文件的页眉和页脚?

[求助]如何批量删除一个文件夹下所有Word文件的页眉和页脚?

时间:2007-12-24

来源:互联网

请各位帮助偶一下,如何批量去除一个文件夹下所有Word文件的页眉和页脚?用VBA也可以。谢谢。

作者: acer_peri   发布时间: 2007-12-24

QUOTE:
以下是引用acer_peri在2007-12-24 20:25:36的发言:
请各位帮助偶一下,如何批量去除一个文件夹下所有Word文件的页眉和页脚?用VBA也可以。谢谢。

请参考:

'* +++++++++++++++++++++++++++++
'* Created By SHOUROU@ExcelHome 2007-12-25 18:34:02
'仅测试于System: Windows NT Word: 11.0 Language: 2052
'№ 0291^The Code CopyIn [ThisDocument-ThisDocument]^'
'* -----------------------------
Option Explicit

Sub Example()    '此代码功能为列出指定文件夹中所有选取的WORD文件全路径名
    Dim myDialog As FileDialog, oDoc As Document, oSec As Section
    Dim oFile As Variant, myRange As Range
    On Error Resume Next
    '定义一个文件夹选取对话框
    Set myDialog = Application.FileDialog(msoFileDialogFilePicker)
    With myDialog
        .Filters.Clear    '清除所有文件筛选器中的项目
        .Filters.Add "所有 WORD 文件", "*.doc", 1    '增加筛选器的项目为所有WORD文件
        .AllowMultiSelect = True    '允许多项选择
        If .Show = -1 Then    '确定
            For Each oFile In .SelectedItems    '在所有选取项目中循环
                Set oDoc = Word.Documents.Open(FileName:=oFile, Visible:=False)
                For Each oSec In oDoc.Sections '文档的节中循环
                    Set myRange = oSec.Headers(wdHeaderFooterPrimary).Range
                    myRange.Delete '删除页眉中的内容
                    myRange.ParagraphFormat.Borders(wdBorderBottom).LineStyle = wdLineStyleNone '段落下边框线
                Next
                oDoc.Close True
            Next
        End If
    End With
End Sub
'----------------------


作者: 守柔   发布时间: 2007-12-25

谢谢守柔大师,小弟受益匪浅,感激涕零!

作者: acer_peri   发布时间: 2007-12-25

我运行了您给的VBA,好像只去了页眉。您能改进一下,把页脚也去了吗?

如果要是能一次选择嵌套文件夹下的所有文件就更好了,谢谢您!

[此贴子已经被作者于2007-12-25 22:25:00编辑过]

作者: acer_peri   发布时间: 2007-12-25

QUOTE:
以下是引用acer_peri在2007-12-25 22:23:39的发言:

我运行了您给的VBA,好像只去了页眉。您能改进一下,把页脚也去了吗?

如果要是能一次选择嵌套文件夹下的所有文件就更好了,谢谢您!


把页脚也删除的代码如下:

'* +++++++++++++++++++++++++++++
'* Created By SHOUROU@ExcelHome 2007-12-26 6:12:17
'仅测试于System: Windows NT Word: 11.0 Language: 2052
'№ 0292^The Code CopyIn [ThisDocument-ThisDocument]^'
'* -----------------------------
Option Explicit
Sub Example()    '此代码功能为列出指定文件夹中所有选取的WORD文件全路径名
    Dim myDialog As FileDialog, oDoc As Document, oSec As Section
    Dim oFile As Variant, myRange As Range
    On Error Resume Next
    '定义一个文件夹选取对话框
    Set myDialog = Application.FileDialog(msoFileDialogFilePicker)
    With myDialog
        .Filters.Clear    '清除所有文件筛选器中的项目
        .Filters.Add "所有 WORD 文件", "*.doc", 1    '增加筛选器的项目为所有WORD文件
        .AllowMultiSelect = True    '允许多项选择
        If .Show = -1 Then    '确定
            For Each oFile In .SelectedItems    '在所有选取项目中循环
                Set oDoc = Word.Documents.Open(FileName:=oFile, Visible:=False)
                For Each oSec In oDoc.Sections    '文档的节中循环
                    Set myRange = oSec.Headers(wdHeaderFooterPrimary).Range
                    myRange.Delete    '删除页眉中的内容
                    myRange.ParagraphFormat.Borders(wdBorderBottom).LineStyle = wdLineStyleNone    '段落下边框线
                    Set myRange = oSec.Footers(wdHeaderFooterPrimary).Range
                    myRange.Delete    '删除页脚中的内容
                Next
                oDoc.Close True
            Next
        End If
    End With
End Sub
'----------------------

遍历所有文件夹及其子文件夹的代码相对要复杂一些,论坛上有,自己搜索一下,如果没有几个子文档夹,多运行一二次就行了。你的这个删除所有Word文件页眉页脚的要求很奇怪。

作者: 守柔   发布时间: 2007-12-26

步骤:
      格式\样式和格式……在下拉菜单选\页眉.....右边的下拉箭头选\修改\修改样式\格式\边框\无边框.....确定.OK了!!!

作者: 安然963   发布时间: 2008-10-28

谢谢守柔版主!!!
虽然我不懂也,不会用,还是先收藏了,谢谢您!

作者: gxsws   发布时间: 2008-10-29

谢谢守版,收藏学习中……

作者: tangqingfu   发布时间: 2008-10-29

请问excel中的页眉页脚也可以修改吗,怎么用你的代码呀。能否说一下步骤。谢谢

作者: xiaohp299808   发布时间: 2011-05-20

热门下载

更多