我想在powerpoint中使用vba创建无法手动编辑的形状(移动,调整大小,更改颜色......)。
即使用vba无法编辑但可以删除对我来说已经足够了。有没有办法在powerpoint中创建那种不可编辑的形状?
我读了一些关于excel中受保护形状的线程,但是在powerpoint中我不能使用myShape.protect。
答案 0 :(得分:0)
您只能在XML而不是vba中执行此操作。
这里有一个锁定形状的简单示例。您可以查看XML以了解它是如何完成的。http://www.pptalchemy.co.uk/Downloads/noMove.pptx
如果你不知道如何做到这一点,Chirag Dahl有一个相当便宜的插件来为你做。
答案 1 :(得分:0)
我终于设法做到了这一点:
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
也许不是最好的方式......但至少它有效。希望它对任何人都有用。如果有人知道更好的方式,请告诉我在这里发布。