仅在第一页页眉上的图像
Posted
技术标签:
【中文标题】仅在第一页页眉上的图像【英文标题】:Image only on first page header 【发布时间】:2017-11-17 07:28:57 【问题描述】:我是 Word vba 的新手,我在一周内得到了这段代码的帮助。代码将图像插入页眉,我现在唯一的挑战是我只希望在第一页上有这个图像,但是当我运行子活动时,应该这样做,原始页面上什么都没有出现。我正在通过访问数据库运行代码,一切正常,除了这个。
Public Sub UpdateHeader(oDoc As Word.Document)
Dim oSec As Word.Section, rng As Range
active oDoc
For Each oSec In oDoc.Sections
Set rng = oSec.Headers(Word.WdHeaderFooterIndex.wdHeaderFooterPrimary).Range
With rng
.Tables.Add Range:=rng, NumRows:=1, NumColumns:=1, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitWindow
With .Tables(1)
.Borders.InsideLineStyle = wdLineStyleNone
.Borders.OutsideLineStyle = wdLineStyleNone
.Rows.SetLeftIndent LeftIndent:=15, RulerStyle:=wdAdjustNone
.Cell(1, 1).Range.InlineShapes.AddPicture FileName:="C:\Images\Logo.jpg", LinkToFile:=False, SaveWithDocument:=True
End With
End With
Next oSec
End Sub
Sub active(oDoc As Word.Document)
oDoc.Sections.PageSetup.DifferentFirstPageHeaderFooter = True
End Sub
【问题讨论】:
将wdHeaderFooterPrimary
更改为wdHeaderFooterFirstPage
。
非常感谢 Kostas,它运行良好!
【参考方案1】:
关于 Word 中标题的一些细节。
如果您希望第一页的页眉与文档的其余部分不同,可以这样设置。
With oDoc.PageSetup
.DifferentFirstPageHeaderFooter = True
.OddAndEvenPagesHeaderFooter = False
End With
然后您可以通过获取wdHeaderFooterFirstPage
范围或所有其他页面的wdHeaderFooterPrimary
来添加到第一页。
最后,如果您需要清除任何现有的标题并重新开始,您可以这样做:
Private Sub ClearExistingHeaders(oDoc As Word.Document)
Dim oSec As Word.Section, oHeader As HeaderFooter
For Each oSec In oDoc.Sections
For Each oHeader In oSec.Headers
oHeader.Range.Delete
Next
Next
End Sub
【讨论】:
如果这个答案对你有帮助;请考虑accepting it。接受答案会奖励贡献者并帮助其他人找到可行的解决方案。以上是关于仅在第一页页眉上的图像的主要内容,如果未能解决你的问题,请参考以下文章