当前位置:首页 > 文章中心 > 正文内容

公文自动排版vba代码

dgx6663周前 (05-15)文章中心4

Sub 公文自动排版()

' 设置页面参数(单位:厘米)

With ActiveDocument.PageSetup

.TopMargin = CentimetersToPoints(3.7) ' 上边距3.7cm

.BottomMargin = CentimetersToPoints(3.5) ' 下边距3.5cm

.LeftMargin = CentimetersToPoints(2.8) ' 左边距2.8cm

.RightMargin = CentimetersToPoints(2.6) ' 右边距2.6cm

.LineNumbering.Active = False ' 关闭行号

.Gutter = 0 ' 清除装订线边距

.PageHeight = CentimetersToPoints(29.7) ' A4纸高度29.7cm

.PageWidth = CentimetersToPoints(21) ' A4纸宽度21cm

End With


' 定义正文样式

Dim NormalStyle As Style

Set NormalStyle = ActiveDocument.Styles("正文")

With NormalStyle

With.Font

.Name = "仿宋_GB2312" ' 默认仿宋字体

.Size = 16 ' 三号字(1磅≈0.35mm,三号=15.6磅≈5.5mm)

.Spacing = -0.3 ' 紧缩0.3磅保证每行28字

.Bold = False ' 取消加粗

End With

With.ParagraphFormat

.Alignment = wdAlignParagraphJustify ' 两端对齐

' 取消首行缩进

.FirstLineIndent = 0

.LineSpacingRule = wdLineSpaceExactly ' 固定值

.LineSpacing = 28 ' 行距28磅保证每页22行

.KeepTogether = True ' 段落保持在同一页

.KeepWithNext = False ' 不与下一段落保持在同一页

End With

End With


' 处理一级标题(格式:"一、"开头)

Dim para As Paragraph

Dim i As Long

For i = ActiveDocument.Paragraphs.Count To 1 Step -1

Set para = ActiveDocument.Paragraphs(i)

If Trim(para.Range.Text) = "" Then

para.Range.Delete

ElseIf Left(para.Range.Text, 2) Like "[一二三四五六七八九十]、" Then

With para.Range

.Style = ActiveDocument.Styles("标题 1") ' 修正样式名称

With.Font

.Name = "方正黑体_GBK" ' 黑体标题

.Size = 16

.Spacing = 0 ' 取消紧缩

.Bold = False ' 取消加粗

End With

With.ParagraphFormat

' 取消首行缩进

.FirstLineIndent = 0

.SpaceBefore = 0 ' 段前间距

.SpaceAfter = 0 ' 段后间距

End With

End With

ElseIf para.Range.Text Like "([一二三四五六七八九十])*" Then ' 处理二级标题

With para.Range

.Style = ActiveDocument.Styles("标题 2") ' 修正样式名称

With.Font

.Name = "楷体_GB2312" ' 楷体标题

.Size = 16

.Spacing = 0

.Bold = False ' 取消加粗

End With

With.ParagraphFormat

' 取消首行缩进

.FirstLineIndent = 0

.SpaceBefore = 0

.SpaceAfter = 0

End With

End With

Else ' 其他段落应用正文样式

para.Range.Style = NormalStyle

End If

Next i


MsgBox "公文排版已完成!", vbInformation, "操作提示"

End Sub

扫描二维码推送至手机访问。

版权声明:本文由第六芝士网发布,如需转载请注明出处。

本文链接:http://www.dgx666.com/post/1613.html

分享给朋友:

“公文自动排版vba代码” 的相关文章

AMD发布24.12.1驱动更新,新增支持《漫威争锋》等游戏

IT之家 12 月 6 日消息,AMD 今天(12 月 6 日)发布公告,推出了 Adrenalin Edition 24.12.1 图形驱动更新,主要新增支持《漫威争锋》、《微软飞行模拟 2024》等新游戏。IT之家附上本次图形驱动支持的新游戏如下:《漫威争锋》《微软飞行模拟 2024》《龙腾世纪...

CAD2014到2023版哪个版更稳定好用?

CAD软件的发展是一个持续的过程,每个版本都在不断地改进和优化。因此,无法简单地回答CAD2014到2023版哪个版本更稳定好用这个问题,因为每个版本都有其自身的优点和缺点。CAD2014:是一款经典的设计软件,具有简单易用的界面和强大的功能。它支持多种文件格式,包括DWG和DXF。CAD2014提...

在安装Auto CAD时出现Allied product not found错误时怎么办

朋友在安装AutoCAD时不慎误删了一个文件夹,结果导致安装AutoCAD时总是跳出”allied product not found”的错误。如果在安装Auto CAD时出现Allied product not found错误时怎么办?请您先不要着急哦 奋斗的雷 来帮您解决目前遇到的问题.今天就已...

AutoCAD各版本对应的R版本参数值及图形的不同版本代号

有时候我们进行CAD平台的二次开发时需要知道AutoCAD2002或AutoCAD2014等版本对应的是R多少的问题,或者卸载软件需要注册表删除的时候,经常需要知道AutoCAD各版本对应的R版本参数值。现将整理如下。AutoCAD 2002 (R15.0)AutoCAD 2004 (R16.0)...

魔兽争霸官方对战平台520活动现已上线

520甜蜜相伴,魔兽争霸官方对战平台专属福利倾情放送!5月14日-5月24日,登录平台就送专属活动底纹,还有全新双子座动态头像超值上线。 爱与恨的双子星,超值礼包限时上线 5月20日-5月24日,双子座超值礼包登场! 双子座——阿尔萨斯8折礼包:“双子座”动态头像×永久+“双子座”动态底纹×...

cad2007新手入门基础绘图案例 #学习

大家好,这节课给大家分享一个简单的 cad 入门案例。1. 这里是一个半径为三十的圆,这里间隔距离是五十,所以直接输入命令 c 空格。2. 第一点输入一个三十的半径画出了一个圆,画好了以后再画第二个圆是一空格。3. 然后以这里的圆心再来画一个五十加三十就是八十的半径,这样画了两个圆。4. 画好了以后...