Vba 仅第一页页眉上的图像
我对vba这个词很陌生,在这周我得到了这段代码的帮助。代码在标题中插入了一个图像,我现在唯一的挑战是,我只希望在第一页上显示这个图像,但是当我运行sub-active时,原始页面上不会显示任何图像。我正在access数据库中运行代码,除了这个,其他一切都正常工作Vba 仅第一页页眉上的图像,vba,ms-access,ms-word,Vba,Ms Access,Ms Word,我对vba这个词很陌生,在这周我得到了这段代码的帮助。代码在标题中插入了一个图像,我现在唯一的挑战是,我只希望在第一页上显示这个图像,但是当我运行sub-active时,原始页面上不会显示任何图像。我正在access数据库中运行代码,除了这个,其他一切都正常工作 Public Sub UpdateHeader(oDoc As Word.Document) Dim oSec As Word.Section, rng As Range active oDoc
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
有关Word中标题的一些详细信息 如果希望第一页的标题与文档的其余部分不同,可以这样设置
With oDoc.PageSetup
.DifferentFirstPageHeaderFooter = True
.OddAndEvenPagesHeaderFooter = False
End With
然后,您可以通过获取所有其他页面的wdheaderfooterfirfirstpage
范围或wdheaderfooterprisary
来添加到第一页
最后,如果需要清除任何现有标题并重新开始,可以执行以下操作:
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
有关Word中标题的一些详细信息 如果希望第一页的标题与文档的其余部分不同,可以这样设置
With oDoc.PageSetup
.DifferentFirstPageHeaderFooter = True
.OddAndEvenPagesHeaderFooter = False
End With
然后,您可以通过获取所有其他页面的wdheaderfooterfirfirstpage
范围或wdheaderfooterprisary
来添加到第一页
最后,如果需要清除任何现有标题并重新开始,可以执行以下操作:
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
将
wdheaderfooterprisary
更改为wdheaderfootterfirstpage
。非常感谢Kostas,它工作得非常好!将wdheaderfooterprisary
更改为wdheaderfootterfirstpage
。非常感谢Kostas,它工作得非常好!如果这个答案对你有帮助;请考虑一下。接受答案会奖励贡献者并帮助他人找到有效的解决方案;请考虑一下。接受答案会奖励贡献者,并帮助其他人找到有效的解决方案。