Добавить картинку "ниже поля" - PullRequest
1 голос
/ 11 июля 2019

У меня есть код, который поместит изображение в документ. Если в нижнем колонтитуле уже есть таблица, изображение появляется не в том месте.

Если я вручную изменю вертикальное положение с 0,44 ниже «абзаца» на нижнее «нижнее поле», то оно перейдет в правильное положение для всех документов.

Однако я не вижу способа получить доступ к этой опции в vba.

Sub myFooter()
' Paste a logo into the footer.
'CTRL+SHIFT+F
Application.ScreenUpdating = False
Dim img As String, shp As Shape, oWD As Word.Document, Sctn As Section
On Error Resume Next

    img = "G:\Shared Drives\footer.jpg"
    Set oWD = ActiveDocument

    For Each Sctn In oWD.Sections
    With oWD.Sections(Sctn.Index).Footers(wdHeaderFooterPrimary).Shapes.AddPicture(img)
      ' for absolute positioning
      .Left = CentimetersToPoints(15.75)
      .Top = CentimetersToPoints(0.44)
      '.below = BottomMargin
    End With
    Next Sctn

Set shp = Nothing
Application.ScreenUpdating = True
End Sub

Есть ли другой способ сделать это, или я что-то упустил, как изменить абсолютную позицию изображения?

1 Ответ

1 голос
/ 11 июля 2019

Изменить раздел With следующим образом:

With oWD.Sections(Sctn.Index).Footers(wdHeaderFooterPrimary).Shapes.AddPicture(img)
      ' for absolute positioning
      .Left = CentimetersToPoints(15.75)
      .RelativeVerticalPosition =  wdRelativeVerticalPositionBottomMarginArea
      .Top = CentimetersToPoints(0.44)
      .TopRelative = wdShapePositionRelativeNone
    End With

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...