示例,在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
vs我应该使用TextFrame2
时,是否有一些明确的指南?
答案 0 :(得分:15)
根据Jon Peltier的说法:http://peltiertech.com/programming-excel-2007-2010-autoshapes-with-vba/
" TextFrame2成员已添加到Excel 2007中,可以更好地控制文本的格式。因为它不向后兼容,我建议使用TextFrame对象"
我猜测类似的情况适用于PPT。
答案 1 :(得分:1)
此外,TextFrame
在macOS中不包含属性LanguageID
,因此您不得不使用TextFrame2
。请注意,如果您正在跨平台环境中使用该属性。我遇到了这个问题in the past。