ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

纯属小白一枚,为了能打印时,能字体底下有条横线,像在信纸书写那样

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-9-15 16:33 | 显示全部楼层 |阅读模式
本帖最后由 风哈哈 于 2019-9-15 17:23 编辑

纯小白一枚,在工作时遇到打印需要每行底下有横线的要求,根据教材的提示,输入以下代码,结果出现“编辑错误”,请大神们指教!
Sub AddGrid()
   Dim tempSection As Double
   Dim pgWidth As Double, pgHight As Double
   Dim pgLeft As Double, pgTop As Double
   Dim pgRight As Double, pgBottom As Double
   Dim shapeDistance As Double, tempShape As Shape
   Dim i As Long

   Application.ScreenUpdating = False '关闭屏幕更新
   For Each tempSection In ActiveDocument.Sections   '在每节中循环
   '在页眉页脚中循环
       With tempSection.Headers(wdHeaderFooterPrimary)
          With tempSection.PageSetup
             pgWidth = .PageWidth   '页宽
             pgHight = .PageHeight  '页高
             pgLeft = .LeftMargin   '左边距
             pgRight = .RightMargin
             pgTop = .TopMargin
             pgBottom = .BottomMargin + 11 '11这个数字可能根据文档的不同而稍有变化
             '每一行网格线的间距
             shapeDistance = (pgHight - pgTop - pgBottom) / .LinesPage
           End With
           '在页眉处添加直线,产生类似于网络线的效果
           For i = 1 To tempSection.PageSetup.LinesPage + 1
              Set tempShape = .Shapes.AddLine(pgLeft, pgTop, pgWidth - pgRight, pgTop)
                  tempShape.WrapFormat.Type = wdWrapNone
              'tempShape.Width =
              Debug.Print shapeDistance
              '每画一条直线后,纵向向下移一个间距
              pgTop = pgTop + shapeDistance
         Next
      End With
  Next
  '开启屏幕更新
  Application.ScreenUpdating = True
  
  
   

End Sub


why_副本.jpg

每段落底下加横线 (3).zip

19.89 KB, 下载次数: 12

文字与横线见要有空0.3cm空隙

TA的精华主题

TA的得分主题

发表于 2019-9-15 21:27 | 显示全部楼层
Dim tempSection As Section

TA的精华主题

TA的得分主题

发表于 2019-9-15 21:29 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
抄错行了吧!

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-9-16 16:58 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 风哈哈 于 2019-9-16 17:03 编辑
好的,谢谢,找到原因了!非常感谢!

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-9-16 16:58 | 显示全部楼层
本帖最后由 风哈哈 于 2019-9-16 17:03 编辑

我第一行就搞错了!
IMG_20190916_165205_副本.jpg

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-9-16 17:15 | 显示全部楼层
各位大神,小弟还有个问题,如果不想有页眉的横线,如何修改代码?

TA的精华主题

TA的得分主题

发表于 2019-9-16 19:08 | 显示全部楼层
  1. Sub 删除页眉横线()
  2.     ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
  3.     Selection.ParagraphFormat.Borders(wdBorderBottom).LineStyle = wdLineStyleNone
  4.     ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
  5. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-9-17 21:34 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-9-17 21:36 | 显示全部楼层
突然间发现一个非常大的问题,这代码不能自动改变横线行距,难道只能修改字体?还是我太白了!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-24 17:51 , Processed in 0.032712 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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