【发布时间】:2019-05-30 18:39:06
【问题描述】:
我一直在尝试为页眉和页脚创建一个宏。 标题没有问题,我可以创建它。 问题在于页脚,我必须创建一个 2x1 表格(按照代码中的尺寸)以及 2 行文本和页码(格式为 xx 的第 1 页)。
我被卡住了,因为当我运行代码时,表格或文本都会弹出。 如何修改代码以便我可以同时拥有表格和文本以及页码。
谢谢!
Sub CreateWord()
Dim objWord As Object
Dim objdoc As Object
Dim objrange As Word.Range
Dim myTable As Table
Dim i As Long
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objdoc = objWord.Documents.Add()
objdoc.PageSetup.OddAndEvenPagesHeaderFooter = False
For i = 1 To objdoc.Sections.Count
With objdoc.Sections(i)
Set objrange = .Headers(WdHeaderFooterIndex.wdHeaderFooterPrimary).Range
objrange = "PRIVATE AND CONFIDENTIAL"
objrange.Font.Name = "Arial"
objrange.Font.Size = 11
objrange.Font.Bold = wdToggle
objrange.ParagraphFormat.Alignment = wdAlignParagraphCenter
Set objrange = Nothing
Set objrange = .Footers(wdHeaderFooterPrimary).Range
objrange = "text1" & vbNewLine & "text2" & vbNewLine & " " & vbNewLine & " "
.Footers(wdHeaderFooterPrimary).PageNumbers.Add FirstPage:=True
objrange.Font.Name = "Arial"
objrange.Font.Size = 9
objrange.Font.Bold = wdToggle
objrange.ParagraphFormat.Alignment = wdAlignParagraphLeft
Set objrange = Nothing
.Footers(wdHeaderFooterPrimary).PageNumbers.Add FirstPage:=True
End With
With objdoc
Set myTable = .Tables.Add(.Sections(1).Footers(wdHeaderFooterPrimary).Range, 2, 1)
End With
With myTable
.Cell(1, 1).Range.Text = "Employee"
.Cell(2, 1).Range.Text = " " & vbNewLine & " "
.Rows.SetLeftIndent LeftIndent:=395, RulerStyle:=wdAdjustFirstColumn
.Borders.InsideLineStyle = wdLineStyleSingle
.Borders.OutsideLineStyle = wdLineStyleSingle
End With
Next
结束子
【问题讨论】:
-
不清楚应该如何在页脚中布置内容。表格、文本和页码应该在哪里相互关联?如果您提供了所需结果的屏幕截图,或许可以?