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

问题描述 投票:0回答:1

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

vba ms-office vsto powerpoint
1个回答
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;
}
© www.soinside.com 2019 - 2024. All rights reserved.