Когда использовать TextFrame или TextFrame2 в VBA
Пример, в Powerpoint:
Объект TextFrame:
Представляет текстовый фрейм в объекте Shape. Содержит текст в текстовый фрейм и свойства и методы, которые контролируют выравнивание и закрепление текстового фрейма.
Объект TextFrame2:
Представляет текстовый фрейм в объекте 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
?
Ответы
Ответ 1
По словам Джона Пельтье здесь: http://peltiertech.com/programming-excel-2007-2010-autoshapes-with-vba/
"Элемент TextFrame2 был добавлен в Excel 2007 и обеспечивает лучший контроль над форматированием текста. Поскольку он не поддерживает обратную совместимость, я бы рекомендовал использовать объект TextFrame
Я предполагаю, что аналогичная ситуация применяется в PPT.