ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] WORD如何中单独制作单页背景色

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-2-9 09:48 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
WORD当中我想要其中一页为填充背景色,但是选了之后,直接默认所有页面都为这个颜色了,怎么才可以单独单页设置

TA的精华主题

TA的得分主题

发表于 2023-2-9 11:38 | 显示全部楼层
本帖最后由 zldccmx 于 2023-2-9 11:42 编辑

image.png

TA的精华主题

TA的得分主题

发表于 2023-2-9 11:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
之所以说是水红色,是因为在页面显示时,红色矩形框上面有一层蒙板。(页眉、页脚在页面显示时均会有一层蒙板)
直接打印出来则是红色----VbRed

TA的精华主题

TA的得分主题

发表于 2023-2-9 20:51 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

老师,这个应该还要取消链接到前一页的页眉哈。顺便问一下,如果不是填充背景色,而是填充图片,该怎样操作呢?谢谢!

TA的精华主题

TA的得分主题

发表于 2023-2-10 08:13 | 显示全部楼层
而是填充图片

ActiveDocument.Shapes.AddPicture 图像名称, , , 0, 0, ActiveDocument.PageSetup.PageWidth, ActiveDocument.PageSetup.PageHeight

TA的精华主题

TA的得分主题

发表于 2023-2-10 08:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
image.png

TA的精华主题

TA的得分主题

发表于 2023-2-10 09:01 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
zldccmx 发表于 2023-2-10 08:13
ActiveDocument.Shapes.AddPicture 图像名称, , , 0, 0, ActiveDocument.PageSetup.PageWidth, ActiveDoc ...

谢谢老师!我一直在插入页眉图片的代码中瞎转。

TA的精华主题

TA的得分主题

发表于 2023-2-10 12:42 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-2-11 11:08 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 shenjianrong163 于 2023-2-11 11:16 编辑

老师,代码到这儿出错。
01.png


  1. Sub 设置单页背景为图片()
  2.         Selection.InsertBreak Type:=wdSectionBreakNextPage '插入分节符
  3.         ActiveDocument.Sections(2).Range.Select '选中第二节
  4.         ActiveWindow.ActivePane.View.SeekView=wdSeekCurrtentPageHeader '第二节页眉
  5.         With Selection
  6.                 .HeaderFooter.LinkToPrevious=False '取消链接到上一节
  7.         End With
  8.         ActiveWindow.ActivePane.View.SeekView=wdSeekCurrtentPageFooter '第二节页脚
  9.         With Selection
  10.                 .HeaderFooter.LinkToPrevious=False '取消链接到上一节
  11.         End With
  12.         ActiveDocument.Sections(1).Range.Select '选中第1节
  13.         ActiveWindow.ActivePane.View.SeekView=wdSeekCurrtentPageHeader '鼠标切换到页眉
  14.         Set zl=Selection.HeaderFooter.Shapes.AddPicture(FileName:="D:\bg.jpg",LinkToFile:=0,SaveWithDocument:=0) '插入图片
  15.         With zl
  16.                 '图片环绕方式为衬于文字下方
  17.                 .WrapFormat.Type=wdWrapNone
  18.                 .ZOrder ZOrderCmd:=msoSendBehindText
  19.                 .LockAspectBatio=msoFalsr '不锁定图片纵横比例
  20.                 .Width=ActiveDocument.Sections(1).PageSetup.PageWidth '与纸张同宽
  21.                 .Height=ActiveDocument.Sections(1).PageSetup.PageHeight '与纸张等高
  22.                 .Left=-ActiveDocument.Sections(1).PageSetup.LeftMargin '左边距为0
  23.                 .Top=-ActiveDocument.Sections(1).PageSetup.TopMargin + ActiveDocument.Sections(1).PageSetup.HeaderDistance '顶边距为0
  24.         End With
  25. End Sub
复制代码


TA的精华主题

TA的得分主题

发表于 2023-2-12 09:01 | 显示全部楼层
代码更改后,可以运行,只是顶端还有一小块空白。

  1. Sub 设置单页背景为图片()
  2.     Dim zl As Object
  3.     Selection.InsertBreak Type:=wdSectionBreakNextPage '插入分节符
  4.     With ActiveDocument.Sections(2)
  5.         .Headers(wdHeaderFooterPrimary).LinkToPrevious = False '取消页眉链接到前一节
  6.         .Footers(wdHeaderFooterPrimary).LinkToPrevious = False '取消页脚链接到前一节
  7.     End With
  8.     Set zl = ActiveDocument.Sections(1).Headers(wdHeaderFooterPrimary).Shapes.AddPicture("D:\1.jpg") '插入图片
  9.     With zl
  10.         '图片环绕方式为衬于文字下方
  11.         .WrapFormat.Type = wdWrapNone
  12.         .ZOrder ZOrderCmd:=msoSendBehindText
  13.         .LockAspectRatio = msoFalse '不锁定图片纵横比例
  14.         .Width = ActiveDocument.Sections(1).PageSetup.PageWidth '与纸张同宽
  15.         .Height = ActiveDocument.Sections(1).PageSetup.PageHeight '与纸张等高
  16.         .Left = -ActiveDocument.Sections(1).PageSetup.LeftMargin '左边距为0
  17.         .Top = -ActiveDocument.Sections(1).PageSetup.TopMargin + ActiveDocument.Sections(1).PageSetup.HeaderDistance '顶边距为0
  18.         .Top = -ActiveDocument.Sections(1).PageSetup.BottomMargin + ActiveDocument.Sections(1).PageSetup.FooterDistance '顶边距为0
  19.     End With
  20. End Sub
复制代码
00.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-27 19:58 , Processed in 0.042499 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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