ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3530|回复: 22

[求助] 批量删除Word文档内,所有页眉页脚上的文本框及框内的文字

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-10-26 11:34 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 相见是缘8 于 2021-10-26 11:38 编辑

请老师们帮忙写个代码批量删除它。万分感谢!
图中红箭头所指的就是。
详见附件!

图.png

删除文本框.rar

12.75 KB, 下载次数: 11

TA的精华主题

TA的得分主题

发表于 2021-10-26 15:19 | 显示全部楼层
Sub 删除页眉里面的文本框()
Dim oDoc As Document
    Set oDoc = Word.ActiveDocument
    Dim oSec As Section
    With oDoc
        '先遍历所有的节对象
        For Each oSec In .Sections
            With oSec
                With .Headers(wdHeaderFooterPrimary)
                   .Range.Delete
                End With
                With .Headers(wdHeaderFooterEvenPages)
            .Range.Delete
            End With
            End With
        Next
    End With
End Sub

根据上传文件能删除

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-10-27 06:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
jiangxiaoyun 发表于 2021-10-26 15:19
Sub 删除页眉里面的文本框()
Dim oDoc As Document
    Set oDoc = Word.ActiveDocument

老师好!
感谢援手!
可以删除了,可发现删除后,还有一条长横线和上下各有一个段落符,可以一起删掉吗?
另外,问一下老师,手动查找文档正文中的文本框,它的代表符号是什么?

TA的精华主题

TA的得分主题

发表于 2021-10-27 12:21 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
image.png

设置一下页脚地段距离,变成0就没有横线的了。
代码就不搞了,我对word也不熟悉啊。

TA的精华主题

TA的得分主题

发表于 2021-10-27 22:38 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
相见:你好!——在 蒋老师 的代码中加入一句代码即可删除页眉横线;至于回车符只须隐藏编辑标记即可。无需删除,恐怕也删除不了。
   
  1. Sub aaaa删除页眉里面的文本框222()
  2.     Dim oDoc As Document
  3.     Set oDoc = Word.ActiveDocument
  4.     Dim oSec As Section
  5.     With oDoc
  6.         '先遍历所有的节对象
  7.         For Each oSec In .Sections
  8.             With oSec
  9.                 With .Headers(wdHeaderFooterPrimary)
  10.                    .Range.Delete
  11.                 End With
  12.                 With .Headers(wdHeaderFooterEvenPages)
  13.                     .Range.Delete
  14.                 End With
  15.                 '删除页眉横线
  16.                 .Headers(wdHeaderFooterPrimary).Range.ParagraphFormat.Borders(wdBorderBottom).LineStyle = wdLineStyleNone
  17.             End With
  18.         Next
  19.     End With
  20. End Sub
复制代码

  
********手动查找文本框,我也不清楚。下面代码请在 VBE 中按 F8 逐步执行,可以找到文本框。
  1. Sub aaaa_TextBox()
  2.     MsgBox "共有图形 = " & ActiveDocument.Shapes.Count & " 个!", 0 + 48
  3.    
  4.     Dim s As Shape
  5.     For Each s In ActiveDocument.Shapes
  6.         If s.Type = 17 Then s.Select
  7.         Stop
  8.     Next
  9. End Sub
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-10-28 09:20 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
jiangxiaoyun 发表于 2021-10-27 12:21
设置一下页脚地段距离,变成0就没有横线的了。
代码就不搞了,我对word也不熟悉啊。

老师好!
好!感谢!
你以帮了我大忙,谢谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-10-28 09:20 | 显示全部楼层
413191246se 发表于 2021-10-27 22:38
相见:你好!——在 蒋老师 的代码中加入一句代码即可删除页眉横线;至于回车符只须隐藏编辑标记即可。无需 ...

老师好!
好久不见!
你的代码我测试了,好像删不干净,还有横线。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-10-28 09:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
413191246se 发表于 2021-10-27 22:38
相见:你好!——在 蒋老师 的代码中加入一句代码即可删除页眉横线;至于回车符只须隐藏编辑标记即可。无需 ...

老师好!
能不能让这个代码找到文本框后,处于选中状态或让它变色?好逐个查看或处理!

TA的精华主题

TA的得分主题

发表于 2021-10-29 00:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
相见,必须在 VBE 中按 F8 一步一步地逐步运行此宏,才能选中,在 Word 界面是不能选中的。

TA的精华主题

TA的得分主题

发表于 2021-10-29 01:03 | 显示全部楼层
相见,请再试试:
  1. Sub aaaa删除页眉里面的文本框333()
  2.     Dim oDoc As Document
  3.     Set oDoc = Word.ActiveDocument
  4.     Dim oSec As Section
  5.     With oDoc
  6.         '先遍历所有的节对象
  7.         For Each oSec In .Sections
  8.             With oSec
  9.                 With .Headers(wdHeaderFooterPrimary)
  10.                    .Range.Delete
  11.                 End With
  12.                 With .Headers(wdHeaderFooterEvenPages)
  13.                     .Range.Delete
  14.                 End With
  15.                 .Headers(wdHeaderFooterPrimary).Range.ParagraphFormat.Borders(wdBorderBottom).LineStyle = wdLineStyleNone
  16.                 .Headers(wdHeaderFooterEvenPages).Range.ParagraphFormat.Borders(wdBorderBottom).LineStyle = wdLineStyleNone

  17.             End With

  18.         Next
  19.     End With
  20.    
  21. '    Sub 删除页眉横线()
  22.     ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
  23.     Selection.ParagraphFormat.Borders(wdBorderBottom).LineStyle = wdLineStyleNone
  24.     ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
  25. End Sub
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-1-4 10:01 , Processed in 0.028208 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表