ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 求批量调整页边距脚本

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-5-23 09:25 | 显示全部楼层 |阅读模式
一个文档,里面有的是横版,有的是竖版,想批量调整横版或者竖版的页边距设置,怎么做比较简单,是不是需要vba啊

TA的精华主题

TA的得分主题

发表于 2012-5-24 02:21 | 显示全部楼层
*** 用VBA固然可以,但我试验一下,发现可以手动,方法如下:
WORD中,按第7个按钮“打印预览”到预览界面,再把“放大镜”点击一下处于可编辑状态,然后,点击“多页”按钮(像“田字格”的那个按钮)向右下方拖动一下,最好将显示比例设置为25%;
然后,用鼠标选定横向纸张上的一些字符,再按住 CTRL 键不松手,再选定别的横向纸张上的一些字符……;
然后,点击:文件菜单——页面设置——自行设置页边距——应用于:所选节——确定,这时再观察,各个横向纸张已经按你设置的页边距设置好了,纵向纸张的亦同样道理。
*** 以上方法仅针对可见的有少数页数的文档,如果文档页数太多,此法就不适宜了,恐有遗漏嫌疑……,此时可以用 VBA 处理(初步算法是:循环遍历各个“节”,如果本节是纵向纸张,则页边距多少多少;如果是横向纸张,则页边距多少多少)。

TA的精华主题

TA的得分主题

发表于 2012-8-30 09:00 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2020-8-10 13:30 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
我也遇到这问题了,一个文件里好多节,有横版和竖版,页边距都不相同,想批量设置横版和竖版的页边距,有大神写个代码吗?谢谢了!

TA的精华主题

TA的得分主题

发表于 2020-8-10 19:01 | 显示全部楼层
  1. Sub PaperSetup()
  2.     Dim s As Section
  3.     For Each s In ActiveDocument.Sections
  4.         With s.PageSetup
  5.             If .Orientation = wdOrientPortrait Then
  6.                 .TopMargin = CentimetersToPoints(2.54)
  7.                 .BottomMargin = CentimetersToPoints(2.54)
  8.                 .LeftMargin = CentimetersToPoints(3.17)
  9.                 .RightMargin = CentimetersToPoints(3.17)
  10.                 .PageWidth = CentimetersToPoints(21)
  11.                 .PageHeight = CentimetersToPoints(29.7)
  12.             Else
  13.                 .TopMargin = CentimetersToPoints(2.5)
  14.                 .BottomMargin = CentimetersToPoints(2.5)
  15.                 .LeftMargin = CentimetersToPoints(2.54)
  16.                 .RightMargin = CentimetersToPoints(2.54)
  17.                 .PageWidth = CentimetersToPoints(29.7)
  18.                 .PageHeight = CentimetersToPoints(21)
  19.             End If
  20.             .HeaderDistance = CentimetersToPoints(1.5)
  21.             .FooterDistance = CentimetersToPoints(1.75)
  22.         End With
  23.     Next
  24. End Sub
复制代码

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-8-12 08:59 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2022-3-22 16:45 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-23 12:25 , Processed in 0.036939 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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