亲爱的小伙伴们,大家好!今天跟大家分享一下小编帮一位同学处理上千页文档批量删除页眉中域的案例,常规的页眉页脚中插入页码和标题内容相信大家都会,但是这位同学就是因为“太会”使用Word了,所以最后导致上千页的文档中域需要删除。一起来看看是怎么回事吧。
从截图可以看出来,每一页的标题都需要引用到页眉中,换句话说页眉的内容需要根据当前页的标题内容变化。
之前给大家分享过相关的页眉中引用标题内容教程,我们一起来复习一下,选中正文中需要设置标题的内容,设置好标题样式后,激活页眉,光标定位在页眉位置,然后在插入选项卡中找到域,打开域对话框找到StyleRef域,选择样式名“标题1”,勾选更新时保留原格式确定。一切操作正常,页眉中内容页正常显示出来了。但是这个和今天的案例有什么关系呢?继续往下看
下图是求助删除页眉域的文档提示,所有页眉内容全部提示了“错误!使用“开始”选项卡将 标题 1 应用于要在此处显示的文字”而且文章中插入了许多分节符,每一节都是断开链接的。分节符如果全部替换删除文档格式就会发生变化,这个同学找不到是什么原因导致StyleRef域结果出错,所以就求助希望将文章中所有页眉中的错误域批量删除。
StyleRef域结果出错的原因是因为域中的标题名称发生了变化,截图中可以看到“标题 1”和“标题 1”中间空格不一致也就等于是标题名称不一致,所以链接不到标题样式的内容。
这个文档大约有200M,小编当时接收了好久,打开文档后电脑CPU就呼呼个不停,卡顿了一会儿我看了一下软件左下角提示的页码。6039页,我的天啊~都快赶上一本书籍的页面了。如果这么多页要去手动删除页眉中域的话,那要删到猴年马月呀。
因为问题的文档中页面分节断开链接的页面有许多,笨办法只有选中一节页眉然后手动删除一节页眉的内容,循环重复至整个文档删除完为止。
这时可能有的小伙伴想到了错误结果是域代码,用查找替换不可以批量删除吗?我们试试查找替换看看能否删除。
结果使用查找替换并不能删除页眉中的域,最后小编是使用的VBA编程给这位同学批量删除的文档页眉的域代码,操作方法是打开VBE后插入模块,将写好的代码粘贴到模块中,可以按F5键运行代码,也可以回到软件中查看宏按钮中运行宏。
以下是VBA代码:
‘删除页眉和页脚中的域
Sub RemoveHeaders()
Dim sec As Section
Dim hdr As HeaderFooter
For Each sec In ActiveDocument.Sections
For Each hdr In sec.Headers
If hdr.Exists Then
For i = hdr.Range.Fields.Count To 1 Step -1
hdr.Range.Fields(i).Delete
Next
End If
Next hdr
For Each ftr In sec.Footers
If ftr.Exists Then
For i = ftr.Range.Fields.Count To 1 Step -1
ftr.Range.Fields(i).Delete
Next
End If
Next
Next sec
End Sub
Sub 将所有图片的宽度统一设置为7厘米()
Dim InShp As InlineShape
For Each InShp In ActiveDocument.InlineShapes
With InShp
If .Type = wdInlineShapePicture Then
.LockAspectRatio = msoTrue
.Width = CentimetersToPoints(3)
End If
End With
Next InShp
Set InShp = Nothing
End Sub
今天的分享就到这,如果教程对大家有用,希望大家多多分享点赞支持小编哦!你的每一次点赞和转发都是支持小编坚持原创的动力。
|
|
Office自学网公众号 |
|
Office自学网客服 |
|
打开微信扫一扫,Office自学网
专注分享软件安装和视频教程,让你一号在手,办公无忧!