VBA设置word文档的页面页眉方法
来源:网络收集 点击: 时间:2024-02-08打开word2003新建空白文档——点击工具——宏——Visual Basic,打开VBA编辑器(直接按ALT+F11也可以),其它版本的打开方式有所不同,但快捷键是一样的

第二步,点击左侧的Microsoft Word 对象——再双击ThisDocument——接着在右侧的编辑页面那里输入如下代码:
Sub AutoOpen()
Dim glkDoc As Document 定义变量
Set glkDoc = Application.ActiveDocument 设置为当前文档
With glkDoc 设置文档参数
With .PageSetup 设置【页面设置】参数
.Orientation = wdOrientPortrait 页面方向:wdOrientPortrait--纵向,wdOrientLandscape--横向
.PageWidth = CentimetersToPoints(21) 纸张宽21cm
.PageHeight = CentimetersToPoints(29.7) 纸张高29.7cm
.TopMargin = CentimetersToPoints(2) 上边距2cm
.BottomMargin = CentimetersToPoints(1.5) 下边距1.5cm
.LeftMargin = CentimetersToPoints(2.5) 左边距2.5cm
.RightMargin = CentimetersToPoints(1.5) 右边距1.5cm
.HeaderDistance = CentimetersToPoints(0.5) 页眉0.5cm
.FooterDistance = CentimetersToPoints(0.5) 页脚0.5cm
End With 结束【页面设置】参数设置
.Save 保存文档参数
End With 结束文档参数设置
End Sub

第三,如果想制作多种设置,最好添加模块——点击VBA编辑器的插入——模块,直接打开模块编辑页面,在那里输入编辑代码。也可以插入类模块。

第四,在模块编辑页面那里设置批量格式word文件格式的代码,如:
Sub 批量格式设置() 此代码为指定文件夹中所有选取的WORD文件的进行格式设置 Dim MyDialog As FileDialog, vrtSelectedItem As Variant, Doc As Document On Error Resume Next 忽略错误 定义一个文件夹选取对话框 Set MyDialog = Application.FileDialog(msoFileDialogFilePicker) With MyDialog .Filters.Clear 清除所有文件筛选器中的项目 .Filters.Add 所有 WORD 文件, *.doc, 1 增加筛选器的项目为所有WORD文件 .AllowMultiSelect = True 允许多项选择 If .Show = -1 Then 确定 Application.ScreenUpdating = False For Each vrtSelectedItem In .SelectedItems 在所有选取项目中循环 Set Doc = Documents.Open(FileName:=vrtSelectedItem, Visible:=False) With Doc With .PageSetup 进行页面设置 .Orientation = wdOrientPortrait 页面方向为纵向 .TopMargin = CentimetersToPoints(2.2) 上边距为55.00000000000001px .BottomMargin = CentimetersToPoints(2.2) 下边距为55.00000000000001px .LeftMargin = CentimetersToPoints(2.5) 左边距为62.5px .RightMargin = CentimetersToPoints(2.5) 右边距为2.5com .Gutter = CentimetersToPoints(0) 装订线0 .HeaderDistance = CentimetersToPoints(1.5) 页眉37.5px .FooterDistance = CentimetersToPoints(1.75) 页脚43.75px .PageWidth = CentimetersToPoints(21) 纸张宽525px .PageHeight = CentimetersToPoints(29.7) 纸张高742.5px .SectionStart = wdSectionNewPage 节的起始位置:新建页 .OddAndEvenPagesHeaderFooter = False 不勾选“奇偶页不同” .DifferentFirstPageHeaderFooter = False 不勾选“首页不同” .VerticalAlignment = wdAlignVerticalTop 页面垂直对齐方式为“顶端对齐” .SuppressEndnotes = False 不隐藏尾注 .MirrorMargins = False 不设置首页的内外边距 .BookFoldRevPrinting = False 不设置手动双面打印 .BookFoldPrintingSheets = 1 默认打印份数为1 .GutterPos = wdGutterPosLeft 装订线位于左侧 .LayoutMode = wdLayoutModeLineGrid 版式模式为“只指定行网格” End With With .Content.ParagraphFormat 段落格式设置 .LeftIndent = CentimetersToPoints(0) 左缩进0 .RightIndent = CentimetersToPoints(0) 右缩进0 .SpaceBefore = 0 段前间距0 .SpaceBeforeAuto = False 段前间距不设为“自动” .SpaceAfter = 0 段后间距0 .SpaceAfterAuto = False 段后间距不设为“自动” .LineSpacingRule = wdLineSpaceExactly .LineSpacing = 24 行距24磅 .Alignment = wdAlignParagraphJustify 段落设置为两端对齐 .WidowControl = False 不勾选“孤行控制” .KeepWithNext = False 不勾选“与下段同页” .KeepTogether = False 不勾选“段中不分页” .PageBreakBefore = False 不勾选“段前同页” .NoLineNumber = False 不勾选“取消行号” .Hyphenation = True 不勾选“允许西文在单词中间换行” .FirstLineIndent = CentimetersToPoints(0) 首行缩进0 .OutlineLevel = wdOutlineLevelBodyText 大纲级别为“正文文本” .CharacterUnitLeftIndent = 0 段落左缩进0 .CharacterUnitRightIndent = 0 段落右缩进0 .CharacterUnitFirstLineIndent = 0 特殊格式为“无” .LineUnitBefore = 0 段前间距为0 .LineUnitAfter = 0 段后间距为0 .AutoAdjustRightIndent = True 自动调整段落的右缩进 .DisableLineHeightGrid = False 勾选“如果定义了文档网格,则对齐网格”,即指定段落中的字符与行网格对齐 .FarEastLineBreakControl = True 将东亚语言文字的换行规则应用于指定的段落 .WordWrap = True 在指定段落或文本框的西文单词中间断字换行 .HangingPunctuation = True 指定段落中的标点将可以溢出边界 .HalfWidthPunctuationOnTopOfLine = False .AddSpaceBetweenFarEastAndAlpha = True 自动在指定段落的中文文字和拉丁文字之间添加空格。 .AddSpaceBetweenFarEastAndDigit = True 自动在指定段落中的中文文字与数字之间添加空格 .BaseLineAlignment = wdBaselineAlignAuto 自动调整基线字体对齐方式 End With 新增部分 With .Content With .Font .NameFarEast = 宋体 .NameAscii = Times New Roman .Size = 12 End With
With .Paragraphs.First .Range.Font.Size = 16 .Alignment = wdAlignParagraphCenter End With End With .Close True End With Next Application.ScreenUpdating = True End If End With MsgBox 格式化文档操作设置完毕!, vbInformation End Sub

第四,设计完成一个模块之后,还可以再点击插入——模块,插入一个模块2,可以编辑另一个VBA设置页面的代码,如果我们想打开其它文档用VBA来设置,怎么办呢?下面是选择文档的页面设置代码:
Sub glkSelectDocPageSetup()
Dim glkFileDialog As FileDialog 定义选择文件对话框
Dim glkSelectedItem As Variant 定义变量
Dim glkDoc As Document 定义文档
Set glkFileDialog = Application.FileDialog(msoFileDialogFilePicker) 设置变量
With glkFileDialog 设置对话框属性
.Filters.Clear 清除过滤器
.Filters.Add 所有 WORD 文件, *.Doc, 1 添加过滤条件
.AllowMultiSelect = True 允许多选
If .Show = -1 Then 如果按【打开】
Application.ScreenUpdating = False 关闭屏幕更新
For Each glkSelectedItem In .SelectedItems For-Next循环
Set glkDoc = Documents.Open(FileName:=glkSelectedItem, Visible:=False) 后台打开所选文档
With glkDoc 设置文档参数
With .PageSetup 设置【页面设置】参数
.Orientation = wdOrientPortrait 页面方向:wdOrientPortrait--纵向,wdOrientLandscape--横向
.PageWidth = CentimetersToPoints(21) 纸张宽21cm
.PageHeight = CentimetersToPoints(29.7) 纸张高29.7cm
.TopMargin = CentimetersToPoints(2) 上边距2cm
.BottomMargin = CentimetersToPoints(1.5) 下边距1.5cm
.LeftMargin = CentimetersToPoints(2.5) 左边距2.5cm
.RightMargin = CentimetersToPoints(1.5) 右边距1.5cm
.HeaderDistance = CentimetersToPoints(0.5) 页眉0.5cm
.FooterDistance = CentimetersToPoints(0.5) 页脚0.5cm
End With 结束【页面设置】参数设置
.Save 保存文档参数
End With 结束文档参数设置
glkDoc.Close 关闭文档
Next
Application.ScreenUpdating = True 启用屏幕更新
MsgBox 所选文档的页面已设置完毕!, vbInformation
Else 如果按【取消】
MsgBox 您取消了本次操作!, vbInformation
End If
End With
End Sub

最后,设置完成之后,要点击调试——选择逐语句,看看编辑的代码有没有问题,调试完成没问题后就可以点击保存并关闭退出VBA编辑器了。

希望能帮助到你
WORDVBA设置文档页眉页面版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_17329.html