如何按名称访问图表

时间:2015-12-15 08:08:15

标签: vba charts ms-word word-vba

使用Word VBA,是否可以使用图表名称访问/获取对图表对象的引用?

在Word界面中,您可以打开"选择窗格",并指定图表的名称。我想使用该name属性访问VBA中的图表。

如果我不能使用该名称,我必须通过将图表定位为范围的InlineShape集合的一部分,通过更加繁琐的路线获得参考。

Set MyChart= wrdApp.Selection.InlineShapes(1).Chart

但这非常繁琐,所以能够根据名称直接导航到图表会很棒......

1 个答案:

答案 0 :(得分:0)

InlineShape对象没有name属性。如果您将它们转换为形状对象,但您仍需要使用InlineShapes(index)进行转换:

Sub ShapeTest()
    Dim oShp As Shape

    If ThisDocument.InlineShapes.Count > 0 Then
        Set oShp = ThisDocument.InlineShapes(1).ConvertToShape
        MsgBox "Shape name = " & ThisDocument.Shapes(oShp.Name).Name
    End If

    Set oShp = Nothing
End Sub

(样本没有意义,但你明白了)

修改

刚刚检查了online documentation for InlineShape,似乎InlineShape对象在Word 2013及更高版本中作为Name属性。你正在运行哪个版本?我只能访问Word 2010,其中我的上述内容是真的。