如何根据形状的位置放置userform

时间:2017-10-20 09:10:20

标签: vba ms-office vsto powerpoint

我正在开发PowerPoint的加载项。我想基于某些PowerPoint形状的位置在屏幕上放置创建的用户窗体,用户窗体应放置在形状上方。我设法找到了Excel的潜在有用方法:application.usedwidth application.usedheight,activewindow.usedheight和activewindow.usedwidth,但是我找不到这样的PowerPoint方法。 有没有办法将PowerPoint形状位置“转换”为用户形态位置?是否可以检查所有使用过的任务窗格的宽度和高度,以确定带有幻灯片等的“窗格”的位置?

1 个答案:

答案 0 :(得分:0)

前段时间我设法做到了。

private void UpdatePosition(PPT.Shape shape, PPT.Presentation pres)
{
this.Left = pres.Application.ActiveWindow.PointsToScreenPixelsX((float)(0 + shape.left + 0.5 * shape.Width)) - (0.5 * this.Width);
this.Top = pres.Application.ActiveWindow.PointsToScreenPixelsY((float)(0 + shape.Top - 20)) - this.Height;
}