1

我需要在使用 C# 语言构建的 Office 2010 及更高版本的 Micro Soft Power Point Addin 中向 Shape 对象添加 OnClick 操作。有这样的事件

SlideSelectionChanged

WindowBeforeRightClick

这不能按需要工作,右键单击事件甚至不适用于形状对象。

有没有办法订阅这种类型的事件,我不喜欢使用 MACRO 但是如果这是不可避免的,我会使用它。

4

1 回答 1

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 设置一些标志,例如

if (Sel.ShapeRange.AlternativeText.Contains("SomeFlag"))
   {
      //Do some thing
   }
于 2016-01-22T14:22:50.810 回答