今天小编收到一个任务,老板不知道从哪里得到一些文件(有好几百个,Word格式),但是这些文件的页眉和页脚上都有LOGO,于是乎老板就安排了我一个任务,把这些页眉也页脚去掉,
一看这么多,我就来气,这不是欺负我工资低嘛,完全是一个不需要任何技术含量的重复劳动,但是真要一个个的来删除,估计得删得我老眼昏花,四肢发麻……,虽然小编学识不渊博,但是也听过一个叫VBA的东东啊……;
于是乎,小编就开始Research起来,是的,中文可以翻译为研究,但是小编实际上是re-search,哈哈;于是乎就找到了下面的代码,不用调试,直接可用;
使用方法
1、随意新建一个Word文件,按Alt+F11,进入VBA编辑器
2、粘贴进去下面的代码
VBA编辑器
3、点击上方绿色按钮,运行即可
4、选择要删除页眉页脚的文件(可以批量选择),然后就等着耍吧
5、搞定;
6、假装继续手动删除页眉页脚,然后就可以在这里耍两天了
附代码如下:
Sub 批量删除页眉页脚()'此代码功能为列出指定文件夹中所有选取的WORD文件全路径名Dim myDialog As FileDialog, oDoc As Document, oSec As SectionDim oFile As Variant, myRange As RangeOn Error Resume Next'定义一个文件夹选取对话框Set myDialog = Application.FileDialog(msoFileDialogFilePicker)With myDialog .Filters.Clear '清除所有文件筛选器中的项目 .Filters.Add "所有Word文件", "*.doc,*.docx", 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).RangemyRange.Delete '删除页眉中的内容myRange.ParagraphFormat.Borders(wdBorderBottom).LineStyle = wdLineStyleNone '段落下边框线Set myRange = oSec.Footers(wdHeaderFooterPrimary).RangemyRange.Delete '删除页脚中的内容NextoDoc.Close TrueNextEnd IfEnd WithEnd Sub