【问题标题】:Is it possible to use VBA to ungroup an EPS picture to create a Microsoft Office drawing object in Word?是否可以使用 VBA 取消组合 EPS 图片以在 Word 中创建 Microsoft Office 绘图对象?
【发布时间】:2013-10-31 19:56:14
【问题描述】:

在 PowerPoint 中可以将 EPS 图片取消组合,在此过程中将其转换为 Microsoft Office 绘图对象,如下所示:

oShp.Ungroup

Excel 是这样的:

Selection.ShapeRange.Ungroup

但我可以在 Word 中获得的最接近(在文档中选择非内联形状)是这样的:

ActiveWindow.Selection.ShapeRange(1).Ungroup

这会返回错误“运行时错误'-2147024891 (80070005)': Group is locked and cannot be ungrouped”。

然而,当我右键单击文档中的 EPS 图片并选择取消组合时,我可以将其转换为 Microsoft Office 绘图对象,然后再次取消组合以获取各个形状。

VBA 中一定有办法做到这一点?

【问题讨论】:

    标签: image vba ms-word eps


    【解决方案1】:

    您需要检查形状是否为“组”

    试试这个。

    Sub Sample()
        Dim shp As Shape
    
        For Each shp In ActiveDocument.Shapes
            If shp.Type = msoGroup Then shp.Ungroup
        Next
    End Sub
    

    【讨论】:

    • 这不起作用 Siddharth,因为形状是 msoPicture 类型,因为它在 Excel 和 PowerPoint 中取消分组会将其转换为 Microsoft Office 绘图对象。 Word 似乎无法做到这一点!
    • 如果我误解了你,我很抱歉。您可以取消组合吗?
    • 可以通过 Word UI 取消组合 - 是的。程序化取消分组似乎是一个问题,但仅限于 Word。
    猜你喜欢
    • 2013-10-09
    • 2012-07-26
    • 2016-04-10
    • 1970-01-01
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    相关资源
    最近更新 更多