例、PowerPointの場合:
Shapeオブジェクトのテキストフレームを表します。テキストフレーム内のテキストと、テキストフレームの配置と固定を制御するプロパティとメソッドが含まれます。
ShapeまたはShapeRangeオブジェクトのテキストフレームを表します。テキストフレームにテキストが含まれ、テキストフレームの配置と固定を制御するプロパティとメソッドが公開されます。
したがって、TextFrame2はShapeRange
オブジェクトも参照し、TextFrameよりもいくつかのプロパティがあります。
たとえば、PowerPointスライドのテーブルセルに保持されているテキスト値を操作するために、どちらを使用する必要があるのか、またはどちらを使用する必要があるのか、よくわかりません。どちらも機能しているようで、次のステートメントはTRUE
を返します。
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
TextFrame
を使用する必要がある場合とTextFrame2
を使用する必要がある場合についての明確なガイドはありますか?
Jon Peltierによると: http://peltiertech.com/programming-Excel-2007-2010-autoshapes-with-vba/
「TextFrame2メンバーはExcel2007で追加され、テキストの書式設定をより適切に制御できるようになりました。下位互換性がないため、TextFrameオブジェクトを使用することをお勧めします。」
同様の状況がPPTにも当てはまると思います。