title: When to use TextFrame or TextFrame2 in VBA
body: <p>Example, in Powerpoint:</p>
  
  <p><a href="http://msdn.microsoft.com/en-us/library/office/bb265592%28v=office.12%29.aspx" rel="noreferrer">The TextFrame object:</a></p>
  
  <blockquote>
    <p>Represents the text frame in a Shape object. Contains the text in the
    text frame and the properties and methods that control the alignment
    and anchoring of the text frame.</p>
  </blockquote>
  
  <p><a href="http://msdn.microsoft.com/en-us/library/office/bb265972%28v=office.12%29.aspx" rel="noreferrer">The TextFrame2 object:</a></p>
  
  <blockquote>
    <p>Represents the text frame in a Shape or ShapeRange object. Contains
    the text in the text frame and exposes properties and methods that
    control the alignment and anchoring of the text frame.</p>
  </blockquote>
  
  <p>So TextFrame2 also refers to <code>ShapeRange</code> object, and it has a few more properties than TextFrame.  </p>
  
  <p>I am not really sure when or whether I should use one or the other, for example, to manipulate the text values held in Table cells on a powerpoint slide.  Both seem to work, and the following statement returns <code>TRUE</code>.</p>
  
  <pre><code>Dim tbl as Table
  Set tbl = ActivePresentation.Slides(1).Shapes("Table1").Table
  
  tbl.Cell(r, c).Shape.TextFrame2.TextRange.Characters.Text = _
      tbl.Cell(r, c).Shape.TextFrame.TextRange.Characters.Text
  </code></pre>
  
  <p>Is there some definitive guide on when I should use <code>TextFrame</code> vs when I should use <code>TextFrame2</code>?</p>