示例,在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成员是在Excel 2007中添加的,它可以更好地控制文本的格式。因为它不向后兼容,所以我建议使用TextFrame对象”
我猜PPT也有类似情况。
此外,TextFrame
在macOS中不包含属性LanguageID
,因此您不得不使用TextFrame2
。请注意,如果您正在跨平台环境中使用该属性。我遇到了这个问题in the past。