vba:测试shape是否包含textframe

时间:2013-04-23 13:55:15

标签: vba excel-vba shapes excel

我想循环遍历excel文件中图表中的所有形状。 这原则上与

一起使用
Dim currChart As Chart
Set currChart = Sheets("Diagramm 1")

Dim sShapes As Shape
For Each sShapes In currChart.Shapes

        Debug.Print sShapes.name
        Debug.Print sShapes.TextFrame.Characters.Text

Next sShapes

但是,所有类型的形状都不知道属性TextFrame。因此我想测试一个形状是否有文本框架。我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

我假设您需要知道形状对象中是否有文字。因此,请尝试将此代码放在循环For...Next

Debug.Print sShapes.Name
'to check if there is textframe
'but mostly there is
If Not sShapes.TextFrame Is Nothing Then

    'to check if there is text within textframe
    If sShapes.TextFrame2.HasText Then

        Debug.Print sShapes.TextFrame.Characters.Text
    End If
End If

我希望这就是你要找的东西。