如何在 PowerPoint 中获取图像的位置,从厘米到 VBA 点

How to get position of image in PowerPoint from centimeters to points with VBA

所以我在幻灯片上有一张图片,我需要以磅为单位获取该图片的位置,但我只知道它以厘米为单位的位置。我需要这些点,以便我可以使用以下 VBA 代码将另一张图片直接放在上面:

Set myImageBox = mySlide.Shapes.AddPicture(ActivePresentation.Path & "\X.png", False, True, xPos, yPos, -1, -1)

其中 xPosyPos 是我要叠加的图像的坐标。对于PPT,我VBA有点菜鸟

有什么想法吗?

默认情况下,用户界面中的 Office 测量值以磅为单位。没有转换,只是将 xPos 和 yPos 设置为点数。

但是,如果您尝试对齐的对象是手动定位的,则可能仍会存在轻微的错位。这是因为 Office 的内部测量主要以 EMU 为单位(360,000 个 EMU 等于 1 厘米,12,7000 个 EMU 等于 1 点)。您无法在 EMU 中设置或获取 VBA 测量值,而且点的准确性要低得多。

要获得完全匹配,您必须以编程方式将两个对象设置到相同的位置。

您可以在设置下一个对象之前从现有对象中提取位置。

X

可以使用.Left Y

.Top

示例:

xPos = yourShape.Left
yPos = yourShape.Top

注意: 您需要找到该形状并将其分配给名为 yourShapeObject 才能使示例代码正常工作。