我要求在使用C#语言构建的Office 2010及更高版本的Micro Soft Power Point Addin中为Shape对象添加OnClick操作。有像
这样的活动SlideSelectionChanged
WindowBeforeRightClick
哪个不能正常工作,右键单击事件甚至不能在形状对象上工作。
有没有办法订阅这类事件,我不想使用MACRO,但如果不可避免,我会使用它。
答案 0 :(得分:0)
此解决方案可行。
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设置一些标志来确保你只需要在所需的Shape对象上做必要的事情
if (Sel.ShapeRange.AlternativeText.Contains("SomeFlag"))
{
//Do some thing
}