我试图从Excel(VBA)在Word文档中插入页脚。我想页脚是这样的:
Footer Left Right Footer:
CustomText Page 1 of 5
下面是写在Excel中的VBA代码:
Sub FooterTextwithpageNum()
Dim wb As Workbook
Dim objWord As Object
Dim FooterTemp As Object
Set objWord = GetObject(, "Word.Application")
objWord.Visible = True
Set FooterTemp = objWord.ActiveDocument
FooterTemp.Sections(1).Footers(1).Range.Text = "This is Custom Text"
FooterTemp.Sections(1).Footers(1).PageNumbers.Add FirstPage:=True
End Sub
代码后我执行如下得到的结果:
Footer Left Right Footer:
This is Custom Text 1
而不是让页码为Y的第X页它只是数字1,2等任何人都可以请帮我在得到页码为Y的第X页?像下面的图像:
请看看这个链接:How Can I Add a Page X of Y Footer to a Microsoft Word Document?
我没有看它足以弄清楚如何添加自定义文本以及但是下面的代码适用于您的子从链接,并插入Y的第X页
Sub FooterTextwithpageNum()
Dim wb As Workbook
Dim objWord As Object
Dim objDoc As Object
Dim FooterTemp As Object
Dim objTemplate As Object
Dim objRange As Object
Set objWord = GetObject("", "Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Add()
Set FooterTemp = objWord.ActiveDocument
Set objTemplate = objDoc.AttachedTemplate
Set objRange = FooterTemp.Sections(1).Footers(1).Range
objTemplate.AutoTextEntries("Page X of Y").Insert objRange
End Sub
这是我如何得到它使用Word内置的制表位工作:.InsertAfter vbTab
把它两次,有左,右页脚。
整个Excel VBA页脚代码:
' FOOTER
With wrdDoc.sections(1).Footers(wdHeaderFooterPrimary).Range
.InsertAfter Text:="Printed: "
.Fields.Add .Characters.Last, wdFieldEmpty, "DATE \@ ""MM/DD//YYYY""", False
.InsertAfter vbTab
.InsertAfter vbTab
.InsertAfter Text:="Page "
.Fields.Add Range:=.Characters.Last, Type:=wdFieldEmpty, Text:="PAGE", PreserveFormatting:=False
.InsertAfter Text:=" of "
.Fields.Add Range:=.Characters.Last, Type:=wdFieldEmpty, Text:="NUMPAGES", PreserveFormatting:=False
End With
结果: