1

Использовал это, но сегодня стало быстро очевидно, что ожидать, что изображение будет постоянно находиться в одном и том же каталоге, - не очень хороший план.

With ActiveSheet.PageSetup.LeftHeaderPicture
    .filename = ThisWorkbook.path + "\pic.jpg"
    .Height = 275.25
    .Width = 195
End With

Хотя изображение никогда не меняется, текст в заголовке меняется ежедневно, поэтому его необходимо генерировать автоматически, поэтому необходимо вставлять его с помощью VBA, поскольку я помещаю изображение в заголовок, а также другой текст каждый раз, когда меняются соответствующие данные.

1 ответ1

2

У вас уже есть код для импорта внешнего файла изображения и импорта его в заголовок. Поскольку у вас есть встроенное изображение, мы можем его экспортировать, а затем использовать имеющийся у вас код. Скажем, у нас есть:

Этот код будет:

  • создать объект Chart на листе
  • скопировать картинку на график
  • экспортировать диаграмму во внешний файл
  • удалить график

Код:

Sub SaveTheBaby()
    Dim chrt As Chart, MyPic As Shape
    Set MyPic = ActiveSheet.Shapes(1)

    ActiveSheet.Shapes.AddChart
    Set chrt = ActiveSheet.ChartObjects(1).Chart

    MyPic.Select
    MyPic.Copy
    ActiveSheet.ChartObjects(1).Activate
    ActiveChart.Paste
    chrt.Export Filename:="baby.jpg"
    ActiveSheet.ChartObjects(1).Delete
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .