将OnClick操作添加到MS PowerPoint中的形状对象
问题描述:
我有要求将OnClick操作添加到使用C#语言构建的Office 2010及更高版本的Micro Soft Power Point Addin中的Shape对象。有类似事件将OnClick操作添加到MS PowerPoint中的形状对象
SlideSelectionChanged
WindowBeforeRightClick
哪些不按需要工作,右键单击事件甚至不能在形状对象上工作。
有没有办法订阅这种类型的事件,我不喜欢使用MACRO,但如果这是不可避免的,我会使用它。
答
此解决方案将工作。
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
this.Application.WindowSelectionChange += OnWindowSelectionChanged;
}
void OnWindowSelectionChanged(PowerPoint.Selection Sel)
{
if (Sel.Type == PowerPoint.PpSelectionType.ppSelectionShapes)
{
PowerPoint.ShapeRange shapeRange = Sel.ShapeRange;
//Do some work
}
}
private void ThisAddIn_ShutDown(object sender, System.EventArgs e)
{
this.Application.WindowSelectionChange -= OnWindowSelectionChanged;
}
这是良好的使用AltText像
if (Sel.ShapeRange.AlternativeText.Contains("SomeFlag"))
{
//Do some thing
}
最近这里曾是类似的问题,有一些标志设置一些标志,以确保你正在做要紧的唯一所需形状对象。 [也许它可以帮助你](http://stackoverflow.com/a/34907714/1295010)。这是关于excel的,但许多API与MS Office产品相同。 –