2024年4月11日发(作者:)

利用VBA设置Word文档的页面布局

或者:

代码:

 当前文档的页面设置

Sub glkCurrentDocPageSetup()

Dim glkDoc As Document '定义变量

Set glkDoc = Document '设置为当前文档

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

 选择文档的页面设置

Sub glkSelectDocPageSetup()

Dim glkFileDialog As FileDialog '定义选择文件对话框

Dim glkSelectedItem As Variant '定义变量

Dim glkDoc As Document '定义文档

Set glkFileDialog = alog(msoFileDialogFilePicker) '设置变量

With glkFileDialog '设置对话框属性

. '清除过滤器

. "所有 WORD 文件", "*.Doc", 1 '添加过滤条件

.AllowMultiSelect = True '允许多选

If .Show = -1 Then '如果按【打开】

Updating = False '关闭屏幕更新

For Each glkSelectedItem In .SelectedItems 'For-Next循环

Set glkDoc = (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 '结束文档参数设置

'关闭文档

Next

Updating = True '启用屏幕更新

MsgBox "所选文档的页面已设置完毕!", vbInformation

Else '如果按【取消】

MsgBox "您取消了本次操作!", vbInformation

End If

End With