通过 VBA excel 程序在 MS Word 标题中的边框线后添加页码和新行

Posted

技术标签:

【中文标题】通过 VBA excel 程序在 MS Word 标题中的边框线后添加页码和新行【英文标题】:Adding Page number and new line after a border line in MS Word header by a VBA excel program 【发布时间】:2016-04-10 21:13:03 【问题描述】:

我的 vba 程序有点问题。

我有一个 VBA excel 程序来创建一个新的 word 文档。我想在我的 word 文档中添加一个标题,但我是 word 中的 VBA 新手。所以我不知道该怎么做。

在我的标题中,我想在左侧有一些来自 Excel 的信息,在右侧有页码“Page X of Y”。还有一件事,我可以在标题下添加一条边框线,但我不知道如何在边框后添加一条额外的线以在标题和普通文本之间保持空格。

这是我的代码:

Dim objword As Word.Application
Dim mydoc As Word.document
Dim WRng As Word.Range
Set objword = CreateObject("Word.application")
Set mydoc = objword.Documents.Add

'HEADER

Set WRng = mydoc.Sections(1).Headers(wdHeaderFooterPrimary).Range

WRng.Text = wsexcel.Range("A5") & " " & wsexcel.Range("B5") & vbtab & **Page  number of total**
WRng.Borders(wdBorderBottom).LineStyle = wdLineStyleSingle

**???? Add space after the border line???** 

标题示例

code

【问题讨论】:

【参考方案1】:

以下任何一项都会在标题的底部边框线之后创建一个空格:

1) 增加页面布局/格式中上边距的大小。 (这是纸张上边缘与页面上第一行非标题文本之间的距离。) 2)在标题文本的段落格式中,增加“后间距”设置。设置选项以消除相同样式的段落之间的间距,否则您最终可能会在标题文本的所有行之间创建间距。

您可以在 VBA 代码中执行上述任一操作。

【讨论】:

非常感谢!我只需添加以下行来更改上边距,它就可以了!再次感谢!我从来没有想过利润。 mydoc.Sections(1).PageSetup.TopMargin = InchesToPoints(1.7)

以上是关于通过 VBA excel 程序在 MS Word 标题中的边框线后添加页码和新行的主要内容,如果未能解决你的问题,请参考以下文章

VBA MS Word表创建

通过VBA将EXCEL的数据传给WORD

如何用VBA宏程序将excel中的内容批量复制到word文档中去

MS Access 2013:通过 VBA 使用 MS Word 的语法检查

在 VBA 中查找适用于 MS Access 和 MS Excel 的应用程序目录路径

在EXCEL中用VBA怎样操作WORD文档中嵌入的EXCEL表格?