如何在TextRange下引用Text?

时间:2017-09-11 19:11:40

标签: vba excel-vba powerpoint-vba excel

所以我正在尝试调试我的这个脚本,一个我无法通过的错误:

Dim pptText As String
pptText = Shape.TextFrame.TextRange

我收到一条错误,指出需要对象,当我这样做时:

Dim pptText
pptText = Shape.TextFrame.TextRange

它将运行没有错误,但pptText然后没有设置为我想要的文本。我试图引用这部分形状(突出显示为蓝色)我希望它返回“嘻嘻”:http://www.dyve.net/jquery/?editable

我试过

Dim pptText
pptText = Shape.TextFrame.TextRange.Text

但这可能是一个可笑的尝试,并不起作用。我不知道在这一点上我能做些什么。任何和所有帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

您没有显示整个VBA代码,但我怀疑您在代码中引用Shape导致错误。 ' Shape '不能是引用Shape对象类型的变量的名称,因为它是VBA中的保留字。

我设置了一个包含“hee”的单个文本框架的幻灯片,并且能够执行以下代码,没有错误和预期结果。

Option Explicit

Sub test()
    Dim sld As Slide
    Dim sh As Shape
    Dim tf As TextFrame
    Dim pptText As String

    Set sld = Application.ActiveWindow.View.Slide
    For Each sh In sld.Shapes
        Debug.Print sh.TextFrame.TextRange.Text
    Next sh
End Sub