【发布时间】:2013-10-11 23:40:42
【问题描述】:
我正在尝试将自动文本项插入页眉中,然后仅当自动文本项位于同一节中的第一页的偶数页上时才移动该自动文本项。
我的代码将插入自动文本,但我不知道如何移动它。
Sub InsertHeader()
Dim oShape As Shape
Dim PageNumber As Integer
Dim oSection As Section
Dim oHeader As HeaderFooter
For Each oSection In ActiveDocument.Sections
If oSection.Index > 1 Then
For Each oHeader In oSection.Headers
oHeader.Range.Select
PageNumber = Selection.Information(wdActiveEndPageNumber)
If oHeader.Exists Then
Select Case oHeader.Index
Case Is = wdHeaderFooterFirstPage
If PageNumber Mod 2 = 0 Then
ActiveDocument.AttachedTemplate.AutoTextEntries("HeaderFirst"). _
Insert Where:=Selection.Range
End If
End Select
End If
Next oHeader
End If
Next oSection
End Sub
我尝试输入Insert Where:=Selection.Range Left:=CentimetersToPoints(2.26),但 VBA 编辑器不会接受。我还尝试在标题中找到所有形状并移动它们:
ActiveDocument.AttachedTemplate.AutoTextEntries("HeaderFirst"). _
Insert Where:=Selection.Range
For Each oShape In oHeader.Shapes
oShape.Left = CentimetersToPoints(2.26)
''oHeader.Range.Shape(1).Left = CentimetersToPoints(1)
Next oShape
但这会移动文档中每个标题中的形状,而不仅仅是我插入的形状。
【问题讨论】:
-
我想知道您是否可以设置具有不同奇偶标题的文档 - 绝对可行 - 并且每个部分的首页不同?我看到你可以为每个文档做不同的首页,看起来可能是每个部分。请参阅“页面设置”对话框的“布局”选项卡。
-
Word 可以做不同的奇数和偶数页眉,加上每个部分的第一页。基本上,Word 假定每个部分的第一页总是在奇数页上。由于客户要求在偶数页上开始部分,我需要为每个部分提供两个“首页”选项。
-
您的尝试将始终以这种方式运行。每个部分的第一个奇偶页是原样的-您无法更改该规则。您在奇数标题中添加/更改/移动的内容将在本节中的所有奇数标题中可见。我可以建议 - 在适当的页面和位置将该文本添加到
Document.Content或...添加额外的分节符。如果您发现违反规则的编程方式,请在此处显示。最后,尝试说服您的客户更改规则。