vba创建无法手动编辑的形状

vba创建无法手动编辑的形状,vba,shape,powerpoint,Vba,Shape,Powerpoint,我想在powerpoint中使用vba创建无法手动编辑的形状(移动、调整大小、更改颜色…) 即使使用vba无法编辑,但可以删除对我来说已经足够了。有没有办法在powerpoint中创建这种不可编辑的形状 我在excel中读到一些关于受保护形状的帖子,但在powerpoint中我不能使用myShape.protect。您只能在XML而不是vba中执行此操作 这里有一个锁定形状的简单示例。您可以查看XML以了解它是如何完成的 如果你不知道如何做这个Chirag Dahl有一个相当便宜的插件为你做 我

我想在powerpoint中使用vba创建无法手动编辑的形状(移动、调整大小、更改颜色…)

即使使用vba无法编辑,但可以删除对我来说已经足够了。有没有办法在powerpoint中创建这种不可编辑的形状


我在excel中读到一些关于受保护形状的帖子,但在powerpoint中我不能使用myShape.protect。

您只能在XML而不是vba中执行此操作

这里有一个锁定形状的简单示例。您可以查看XML以了解它是如何完成的

如果你不知道如何做这个Chirag Dahl有一个相当便宜的插件为你做


我终于做到了:

Public Sub PPTApp_WindowSelectionChange(ByVal Sel As Selection)
    On Error GoTo NoShape
    If Sel.ShapeRange.name = "arrow" Then
        ActiveWindow.Selection.Unselect
    End If
NoShape:
    If Err.Description <> "" Then
        Err.Clear
    End If
End Sub
公共子PPTApp_窗口选择更改(ByVal选择作为选择)
关于错误GoTo NoShape
如果Sel.SHAPERAGE.name=“箭头”,则
ActiveWindow.Selection.Unselect
如果结束
形状:
如果错误描述为“”,则
呃,明白了
如果结束
端接头

也许不是最好的方式。。。但至少它起作用了。希望它对任何人都有效。如果有人知道一个更好的方法,请让我知道张贴在这里

谢谢你的回答。我检查了第一个链接,它无法移动。。。但是它可以被编辑,所以可以调整大小,也可以改变颜色等等。