Центрировать текст в ячейке программно: работает с однострочными текстами, но не дольше - PullRequest
0 голосов
/ 08 мая 2018

Я создал таблицу в PowerPoint, и я хочу центрировать текст по горизонтали в каждой ячейке. Я использовал MsoHorizontAnchor.msoAnchorCenter .

Это хорошо работает, если текст короткий и в строке текста, но если текст длинный, он отображается более чем в 1 строке и не центрируется. Код:

myShape.Table.Cell(1, 1).Shape.TextFrame.TextRange.Text = "shortOK";
myShape.Table.Cell(1, 2).Shape.TextFrame.TextRange.Text = "Long text is not displayed centered";

myShape.Table.Cell(1, 1).Shape.TextFrame.VerticalAnchor = Microsoft.Office.Core.MsoVerticalAnchor.msoAnchorMiddle;                 
myShape.Table.Cell(1, 2).Shape.TextFrame.VerticalAnchor = Microsoft.Office.Core.MsoVerticalAnchor.msoAnchorMiddle;

myShape.Table.Cell(1, 1).Shape.TextFrame.HorizontalAnchor = Microsoft.Office.Core.MsoHorizontalAnchor.msoAnchorCenter;
myShape.Table.Cell(1, 2).Shape.TextFrame.HorizontalAnchor = Microsoft.Office.Core.MsoHorizontalAnchor.msoAnchorCenter;

Знаете ли вы, как сохранить текст по центру, если он отображается более чем в 1 строке?

1 Ответ

0 голосов
/ 22 марта 2019

Я бы использовал эту документацию: "https://docs.microsoft.com/en-us/office/vba/api/powerpoint.paragraphformat.alignment". В TextRange во взаимодействии есть нечто, называемое" PPParagraphAlignment.ppAlignCenter ", например:

 textrange.ParagraphFormat.Alignment = PpParagraphAlignment.ppAlignCenter;
...