我在PowerPoint中创建了一个表格,我想在每个单元格中水平居中文本。 我使用了 MsoHorizontalAnchor.msoAnchorCenter 。
如果文本很短并且在单行中,则效果很好但是如果文本很长,则它显示在多行中并且不居中。 代码:
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个以上的方式显示,你知道如何保持文本居中吗?
答案 0 :(得分:3)
我将使用本文档“ https://docs.microsoft.com/en-us/office/vba/api/powerpoint.paragraphformat.alignment”。互操作中的TextRange具有一个称为“ PPParagraphAlignment.ppAlignCenter”的内容,例如:
textrange.ParagraphFormat.Alignment = PpParagraphAlignment.ppAlignCenter;