我需要在使用 C# 语言构建的 Office 2010 及更高版本的 Micro Soft Power Point Addin 中向 Shape 对象添加 OnClick 操作。有这样的事件
SlideSelectionChanged
WindowBeforeRightClick
这不能按需要工作,右键单击事件甚至不适用于形状对象。
有没有办法订阅这种类型的事件,我不喜欢使用 MACRO 但是如果这是不可避免的,我会使用它。
我需要在使用 C# 语言构建的 Office 2010 及更高版本的 Micro Soft Power Point Addin 中向 Shape 对象添加 OnClick 操作。有这样的事件
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
}