VBA Excel -> Добавить картинку под номером страницы - PullRequest
0 голосов
/ 31 марта 2020

У меня есть маленькая картинка, которую я хотел бы добавить в свой текстовый документ в Excel VBA. Дело в том, что добавить его в нижний колонтитул не проблема. Но я хотел бы добавить его под номером страницы, который я иллюстрировал на картинке.

enter image description here

Я пробовал много вещей и использовал Google, чтобы найти вдохновение , Тем не менее, я не могу найти никакого решения, которое решает такую ​​проблему. У кого-нибудь есть идея, чтобы решить эту проблему?

Установить B2 = ActiveSheet.Shapes ("P2")

With wApp
    .Visible = True
    .Activate
    Set wdDoc = .Documents.Add()
    With wdDoc
        With wApp.ActiveDocument.PageSetup
            .TopMargin = CentimetersToPoints(2.5)
            .LeftMargin = CentimetersToPoints(2)
            .RightMargin = CentimetersToPoints(4.7)
            .BottomMargin = CentimetersToPoints(2.5)
            .HeaderDistance = CentimetersToPoints(0.98)
            .FooterDistance = CentimetersToPoints(1.5)
        End With
        B2.Copy
        With .Sections(1).Footers(wdHeaderFooterPrimary).Range
            .Font.Size = 7
            .Font.Name = "Arial"
            With .ParagraphFormat
                .Alignment = wdAlignParagraphLeft
                .TabStops.Add Position:=InchesToPoints(7), Alignment:=wdAlignTabRight
            End With
            .InsertAfter "THIS IS THE COMPANY IN THE LFT PART OF FOOTERS" & vbTab & "Page "
            .Fields.Add Range:=.Characters.Last, Type:=wdFieldEmpty, Text:="PAGE", PreserveFormatting:=False
            .InsertAfter Text:=" / "
            .Fields.Add Range:=.Characters.Last, Type:=wdFieldEmpty, Text:="NUMPAGES", PreserveFormatting:=False
            .InsertAfter Chr(11) & vbTab
            .Collapse wdCollapseEnd
            .Paste
            .End = .End + 1
            With .InlineShapes(1)
                .LockAspectRatio = True
                .Height = InchesToPoints(0.25)
            End With

С уважением

Матиас

1 Ответ

0 голосов
/ 01 апреля 2020

Возможно:

With .Sections(1).Footers(wdHeaderFooterPrimary).Range
    .Font.Size = 7
    .Font.Name = "Arial"
    With .ParagraphFormat
      .Alignment = wdAlignParagraphLeft
      .TabStops.Add Position:=InchesToPoints(7), Alignment:=wdAlignTabRight
    End With
    .InsertAfter "THIS IS THE COMPANY IN THE LFT PART OF FOOTERS" & vbTab & "Page "
    .Fields.Add Range:=.Characters.Last, Type:=wdFieldEmpty, Text:="PAGE", PreserveFormatting:=False
    .InsertAfter Text:=" / "
    .Fields.Add Range:=.Characters.Last, Type:=wdFieldEmpty, Text:="NUMPAGES", PreserveFormatting:=False
    .InsertAfter Chr(11) & vbTab
    .Characters.Last.Paste
    .End = .End + 1
    With .InlineShapes(1)
      .LockAspectRatio = True
      .Height = InchesToPoints(0.25)
    End With
End With
...