我有一个文件选择器来选择要加载到Excel工作表中的图像。 我使用addpicture选项并设置了顶部和左侧的距离来实现。 我的身高恒定为55像素,但我的宽度随图片而变化。
所以我的问题是我无法设置固定的.left输入,因为它是从左上角开始计数的。 有没有办法让.left输入从图像中心开始计数?
其他信息:图片的中心始终是页面的中心,这可能为代码提供了更简单的解决方案。
我目前有以下代码
Set xSh = ActiveSheet.Shapes.AddPicture(Logopath, LinkToFile:=msoFalse, SaveWithDocument:=msoCTrue, _
Left:=250, Top:=308, Width:=-1, Height:=55)
我之前尝试用fill.shapes完成此操作,但是我无法根据比例自动调整形状的宽度。因此,如果我可以居中或从图片的中心设置.left,就可以完成。
答案 0 :(得分:0)
使用此代码将图片水平居中对齐,而.Top
保持不变:
xSh.Left = (ActiveWindow.UsableWidth - xSh.Width) / 2
在现有代码后插入它。
答案 1 :(得分:0)
我的问题的解决方法
Set xSh = ActiveSheet.Shapes.AddPicture(Logopath, LinkToFile:=msoFalse, SaveWithDocument:=msoCTrue, Left:=0, Top:=308, Width:=-1, Height:=55)
xSh.Left = (280 - (xSh.Width / 2))
感谢0liveradam8让我走上正轨