我正在尝试将自动文本项插入标题中,然后仅在自动文本项位于也是页面中第一页的偶数页上时移动它。
我的代码会插入自动文本,但我无法弄清楚如何移动它。
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
但是这会移动文档中每个标题中的形状,而不仅仅是我插入的形状。
答案 0 :(得分:0)
oHeader.Range.Select
Selection.Range.ShapeRange.Left = CentimetersToPoints(2.26)
另外,我需要确保在插入任何内容之前存在标题。我解决了这个问题,让生成Word文件的程序(Author-it)插入一个临时标题。