如何在PowerPoint中锁定形状

本文关键字:锁定 PowerPoint | 更新日期: 2023-09-27 18:26:34

我正在为PowerPoint 2010(C#)开发外接程序,我想阻止最终用户移动或编辑我以编程方式创建的所有形状。

我已经在框架中寻求了,但我认为这是不允许编程的。有没有人已经遇到过这种限制,可以帮助我找到解决方案?

我知道有些人创建他们的插件要感谢C++,因为在办公室里有很多限制。

如何在PowerPoint中锁定形状

我找到了两个解决方案:

  • 第一个是从"commandBars.OnUpdate"中捕获所有事件,如下面的示例代码:http://code.msdn.microsoft.com/CSExcelNewEventForShapes-0e26b1f2#content然后你可以把位置/颜色或你想要的一切强加给你的形状
  • 第二个是更"残酷">立即取消选择形状。当您从"CommandBars.OnUpdate"中捕获所有事件时,请执行以下操作:

查看所选形状:

var selectedShape = this.Application.ActiveWindow.Selection.ShapeRange[1]

在我所有的形状中,我都设置了一个带有ID的标签。我只需要检查所选形状的标签中是否有ID,如果是这样的话:

this.Application.ActiveWindow.Selection.Unselect();

然后我显示一个messageBox,警告用户不要选择这种形状。我不喜欢这个解决方案,但这是我找到的唯一一个,而且很有效。

我认为这是不可能的。在一定程度上实现这一点的一种方法(如果人们知道如何选择下面的形状,他们可以解决这个问题)是制作一个画布大小的透明矩形,并将自定义事件绑定到该矩形上(就像你在评论中描述的那样)。透明矩形覆盖了您创建的形状,因此人们无法再以这种方式访问这些形状。当然,如果他们能够弄清楚如何选择形状,他们无论如何都可以移动它们。。。

或者,为了让人们不做这样的事情(你只会阻止没有经验的人),你也可以把他们设置为主幻灯片。

只有"真正的"解决方案适用于不这样做的人?图像。。但是他们也可以移动图像!