图像仅出现在首页标题上

Low*_*par 1 ms-access vba ms-word

我对 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
Run Code Online (Sandbox Code Playgroud)

Kos*_* K. 5

有关 Word 中标题的一些详细信息。

如果您想在第一页中使用与文档其余部分不同的标题,您可以这样设置。

With oDoc.PageSetup
    .DifferentFirstPageHeaderFooter = True
    .OddAndEvenPagesHeaderFooter = False
End With
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过获取范围添加到第一页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
Run Code Online (Sandbox Code Playgroud)