如何使用VBA编辑/取消组合PPT中的EMF粘贴?

时间:2011-07-08 18:55:22

标签: powerpoint-vba

来自柏林的马丁(德国 - 所以请原谅我错误的英语)......

我正在尝试使用VBA编辑PPT中的EMF标签。 EMF贴纸是我使用的Excel图表 ActiveWindow.Selection.SlideRange.Shapes.PasteSpecial DataType:= 3 (增强型图元文件)

没有VBA就很容易:只需右键单击图像并“取消组合”(2x)。

在VBA中,我尝试了以下方法: 1.然后选择正确的形状(工程) 的 ActiveWindow.Selection.ShapeRange.Ungroup.Select

这会运行错误:“...无法取消组合”。

在另一个主题中给出了“解决方案”:录制宏 - >在PPT 2007中不可能! 当我在PPT 2003中录制宏时,它说的完全一样: ActiveWindow.Selection.ShapeRange.Ungroup.Select 但它不起作用。

似乎应该有一步之前将emf图像转换为“office格式”(如果在单击“取消组合”后没有VBA的情况下执行此操作,则会出现一个消息框,如果要将图形转换为“办公室格式“)。

知道如何解决ungroup与VBA合作的问题吗?

1 个答案:

答案 0 :(得分:0)

这可以在这里工作:

Sub UngroupPastedChart()
Dim oShRange As ShapeRange
Dim oSh As Shape
Set oShRange = ActiveWindow.Selection.SlideRange.Shapes.PasteSpecial(ppPasteEnhancedMetafile)
Set oShRange = oShRange.Ungroup
Set oShRange = oShRange.Ungroup
End Sub

并添加oShRange.Select,如果你想在最后选择未组合的形状。