我正在构建一个外接程序(使用外接程序Express)来为PowerPoint中的形状分组/对齐功能添加键盘快捷键。我想要与内置函数相同的功能,但是在重现撤消组功能的行为时遇到了麻烦。
通常,如果用户将多个形状分组,然后按undo( Ctrl + Z ),则对象将取消分组并保持选中状态。当我使用以下内容对形状进行分组,然后按撤消操作时,将清除选择。
Private Sub ObjectGroup()
PowerPointApp.StartNewUndoEntry()
If PowerPointApp.ActiveWindow.Selection.Type <> 0 Then
If PowerPointApp.ActiveWindow.Selection.ShapeRange.Count > 1 Then
PowerPointApp.ActiveWindow.Selection.ShapeRange.Group().Select()
End If
End If
End Sub
如何复制正常的组/撤消行为?是我的分组功能出现问题还是在其他地方出现了?
编辑:(解决了我自己的问题)
替换
PowerPointApp.ActiveWindow.Selection.ShapeRange.Group().Select()
使用
PowerPointApp.CommandBars.ExecuteMso("ObjectsGroup")
似乎可以解决问题。我仍然想知道为什么会有区别...