使用 VBA 将工作簿中的图片插入页眉

使用 VBA 将工作簿中的图片插入页眉

正在使用这个,但今天很快就发现,期望图片一直位于同一个目录中不是一个好计划。

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

虽然图片永远不会改变,但标题中的文本每天都会变化,因此需要自动生成,因此需要使用 VBA 插入它,因为每次相关数据发生变化时,我都会将图片以及其他文本放在标题中。

答案1

您已经有代码来导入外部图片文件并将其导入到标题中。由于您有一个嵌入的图片,我们可以将其导出,然后使用您拥有的代码。假设我们有:

在此处输入图片描述

此代码将:

  • 在工作表上创建图表对象
  • 将图片复制到图表
  • 将图表导出到外部文件
  • 删除图表

代码:

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

相关内容