网上的VBA只支持word2003,这里参照修改了一下,经测试word 2010有效
首先打开一个任意word文档,视图--宏--查看宏
创建一个,在代码窗黏贴下面代码
- Sub 批量删除文件夹里面所有Word文档的页眉页脚()
- Dim Fdlg As FileDialog, Fl
- Dim Fso, Fld, Fln, Wk
- Set Fdlg = Application.FileDialog(msoFileDialogFolderPicker)
- With Fdlg
- .Title = "选择要处理目标文件夹" & "——(删除里面所有Word文档的页眉页脚)"
- If .Show = -1 Then
- MyPath = .SelectedItems(1)
- Else
- Exit Sub
- End If
- End With
- Set Fso = CreateObject("Scripting.FileSystemObject")
- Set Fld = Fso.GetFolder(MyPath)
- Set Fln = Fld.Files
- For Each Wk In Fln
- Set myDoc = Documents.Open(FileName:=Fld & "\" & Wk.Name)
-
- If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
- ActiveWindow.Panes(2).Close
- End If
- If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
- ActivePane.View.Type = wdOutlineView Then
- ActiveWindow.ActivePane.View.Type = wdPrintView
- End If
- ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
- Selection.WholeStory
- Selection.Delete Unit:=wdCharacter, Count:=1
- Selection.WholeStory
- With Selection.ParagraphFormat
- .Borders(wdBorderLeft).LineStyle = wdLineStyleNone
- .Borders(wdBorderRight).LineStyle = wdLineStyleNone
- .Borders(wdBorderTop).LineStyle = wdLineStyleNone
- .Borders(wdBorderBottom).LineStyle = wdLineStyleNone
- With .Borders
- .DistanceFromTop = 1
- .DistanceFromLeft = 4
- .DistanceFromBottom = 1
- .DistanceFromRight = 4
- .Shadow = False
- End With
- End With
- With Options
- .DefaultBorderLineStyle = wdLineStyleSingle
- .DefaultBorderLineWidth = wdLineWidth075pt
- .DefaultBorderColor = wdColorAutomatic
- End With
- If Selection.HeaderFooter.IsHeader = True Then
- ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
- Else
- ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
- End If
- Selection.WholeStory
- Selection.Delete Unit:=wdCharacter, Count:=1
- ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
- Selection.Sections(1).Footers(1).PageNumbers.Add PageNumberAlignment:= _
- wdAlignPageNumberRight, FirstPage:=True
- ' 以上可以换成是你自己录制的宏
- ' C公共部分的代码
- Application.DisplayAlerts = False '强制执行“是”
- 'ActiveDocument.Saved = True'强制执行“否”
- ActiveDocument.Close '退出
-
- Next
- End Sub
成功