【发布时间】:2014-10-14 12:53:13
【问题描述】:
我想获取 PowerPoint 形状的坐标。
这是我的 c# 实现
Microsoft.Office.Interop.PowerPoint._Application myPPT = Globals.ThisAddIn.Application;
Microsoft.Office.Interop.PowerPoint.Slide curSlide = myPPT.ActiveWindow.View.Slide;
foreach (Shape current in curSlide.Shapes)
{
Debug.Print(current.Type.ToString());
foreach (ShapeNode n in current.Nodes)
{
double x = n.Points[1, 1];
double y = n.Points[1, 2];
Debug.Print("X: " + x);
Debug.Print("Y: " + y);
}
}
这适用于“手绘”形状,但不适用于预装的形状(如矩形、大箭头、星形...),我收到错误 COMException。
有人知道如何实现它并访问形状的点吗?
【问题讨论】:
-
VB.net 代码的哪一部分不起作用?您是否事先将其转换为 C#?展示您生成的 C# 并描述我们可以帮助您调试的具体问题。
-
这是我的 C# 代码:它在 "double x" 行上有错误。 COMExcepton (HRESULT: 0x800A01A8) foreach (curSlide.Shapes 中的当前形状) { foreach (current.Nodes 中的ShapeNode n) { double x = n.Points(1, 1);双 y = n.Points(1, 2); } }
-
您的错误代码有很大帮助。看到这个问题stackoverflow.com/questions/7081960/…
标签: c# coordinates powerpoint shape points