PowerPoint 2003和2010之间的区别(ParagraphFormat.Alignment)

时间:2011-09-21 10:18:37

标签: c# powerpoint office-2010 office-2003

我们做什么:

我们为Powerpoint 2010和Powerpoint 2003创建powerpoint文档。

问题出在哪里:

使用以下源代码创建的Lables在Powerpoint 2010和Powerpoint 2003中显示不同。此错误仅发生在带有alignment = center的标签和/或如果我们设置旋转> 0.(见截图)

private Microsoft.Office.Interop.PowerPoint.Shape AddLabel(Microsoft.Office.Interop.PowerPoint.Slide Slide,
        float Left, float Top, float Width, float Height, string Text, float FontSize, 
        bool Bold, Microsoft.Office.Interop.PowerPoint.PpParagraphAlignment Alignment)
{
        Microsoft.Office.Interop.PowerPoint.Shape label;

        label = Slide.Shapes.AddLabel(
            Microsoft.Office.Core.MsoTextOrientation.msoTextOrientationHorizontal,
            Left, Top, Width, Height);
        label.TextFrame.TextRange.Text = Text;
        label.TextFrame.TextRange.Font.Size = FontSize;
        label.TextFrame.TextRange.Font.Bold = Bold ? MsoTriState.msoTrue : MsoTriState.msoFalse;
        label.TextFrame.TextRange.ParagraphFormat.Alignment = Alignment;

        return label;
} 

[...]

label = AddLabel(slide, 50, (slide.Master.Height - 30) / 2, slide.Master.Height, 30,
            "Nutzen", 18, false, PpParagraphAlignment.ppAlignCenter);
label.Rotation = -90;

有没有人知道,是否有一种简单的方法可以使源兼容两个Powerpoint版本?

enter image description here

0 个答案:

没有答案