PowerPoint VSTO加载项 - 添加带标记的形状

时间:2016-04-08 13:22:57

标签: c# vsto powerpoint

我想以编程方式在C#.NET的PowerPoint当前幻灯片中添加一个形状

所以,我创建了一个带有功能区的VSTO加载项,该功能区有一个“添加形状”按钮。 单击此按钮时,将执行以下代码:

Globals.ThisAddIn.Application.ActiveWindow.View.Slide.Shapes.AddShape(
    Microsoft.Office.Core.MsoAutoShapeType.msoShapeRectangle, 0, 0, 10, 20);

执行此代码时,它会在当前幻灯片中正确添加矩形形状。

我想稍后修改此形状(例如,更改它的宽度)。为了能够做到这一点,我在某处看到形状应该有一个唯一的标识符,这可以使用Tag实现吗?

如果是这样,你如何在新添加的形状上添加形状并设置标签,以便我以后可以操作它?

另外,如何遍历当前幻灯片上的形状集合,以便检查形状的标记以查看是否是我要修改的形状?

1 个答案:

答案 0 :(得分:1)

.AddShape方法可以返回对您刚刚添加的形状的引用。 为了简单起见,你会想要这样做。

形状有一个.Tags对象 .Tags对象有一个.Add方法

因此假设在oShape中引用了形状,你可以这样做(再次在VBA中,你必须翻译):

oShape.Tags.Add "MyTagName", "MyTagValue"

有关更多信息以及返回对具有给定标记值的形状的引用的示例(VBA)函数,您可以在我的PPT常见问题解答网站上访问此页面:

使用标签(以及一些关于功能的内容) http://www.pptfaq.com/FAQ00815_Working_with_Tags_-and_a_bit_about_Functions-.htm