我需要在已存在的图表的背景上添加,定位和调整图片大小。
Sub Add_Picture()
Application.ScreenUpdating = False
Dim Input_Data As Worksheet
Set Input_Data = ThisWorkbook.Sheets("Input Data")
'### Find Chart
Dim chrt As ChartObject
Set chrt = Input_Data.ChartObjects(Input_Data.ChartObjects.Count) ' finding the only chart on the sheet
'### Add the picture
chrt.Chart.ChartArea.Format.Fill.UserPicture ("C:\Users\z188018\Desktop\Untitled.png") ' adding the picture
chrt.Chart.SetElement (msoElementPlotAreaNone) 'to show the picture (otherwise hidden behing a white background)
'### Center the picture
'### Resize the picture
Application.ScreenUpdating = True
End Sub
我已经尝试了多次,但没有什么值得一提的,这就是为什么我把这些部分留空了。我可以在运行这段代码后手动完成,然后:
尽管如此,录制宏只给我这个:
With ActiveSheet.Shapes("Chart 7").Fill
.Visible = msoTrue
.UserPicture "C:\Users\z188018\Desktop\Untitled.png"
.TextureTile = msoFalse
.RotateWithObject = msoTrue
End With
我无法适应它。
答案 0 :(得分:0)
这看起来很麻烦,你有同情心。你不是第一个遇到这个问题的人。在这篇可以追溯到2012年的帖子中存在同样的问题,给出的代码会做一些抵消,但不会出现在平铺模式中。
我从这里可以建议的是,你操纵你的图像来假装它被重新调整和居中。因此,进行一些图像处理以(1)调整图像大小(2)放大图像,在新空间中给出白色空间,然后(3)偏移图像的原始部分。可悲的是,我不知道如何在代码中执行此操作。
快速Google和 @Override
public void onBackPressed() {
// nothing to code
}
,命令行程序可能很有用。 https://www.gimp.org/tutorials/Basic_Batch/
Gimp
甚至有一个stackoverflow标记,所以有一个社区可以在这里问
https://stackoverflow.com/questions/tagged/gimp