【问题标题】:Powerpoint Macro to center align a single text box to slidePowerpoint 宏将单个文本框居中对齐以滑动
【发布时间】:2014-11-20 08:16:36
【问题描述】:

我正在尝试将大型演示文稿中的文本框居中对齐。每张幻灯片都包含各种形状,但只有一个带有文本的文本框,我希望该文本框与幻灯片的中心对齐。目前,我有一行代码可以使文本中心在其自己的文本框中对齐,但我想知道是否有办法使文本框位于幻灯片的中间?

    Sub TextSize()

    Dim oSl As Slide
    Dim oSh As Shape


    With ActivePresentation

For Each oSl In .Slides
    For Each oSh In oSl.Shapes
        With oSh
            If .HasTextFrame Then
                If .TextFrame.HasText Then
                    .TextFrame.TextRange.Font.Size = 26.5

                    ' change the code to make the text box centre aligned to the slide
                    .TextFrame.TextRange.ParagraphFormat.Alignment = ppAlignCenter


                End If
            End If
        End With
    Next
Next

    End With

    End Sub

【问题讨论】:

    标签: vba textbox alignment powerpoint center


    【解决方案1】:

    Gopal 为您指明了正确的方向。在您的代码使文本居中之后,添加以下内容:

    .Left = ActivePresentation.PageSetup.SlideWidth / 2 - .Width / 2
    .Top = ActivePresentation.PageSetup.SlideHeight / 2 - .Height / 2
    

    【讨论】:

    • 效果很好,非常感谢您的时间和建议。
    • 如果字体太大并且形状是表格。这不行!知道如何解决吗?
    • 代码回答了将文本框居中的请求。桌子是完全不同的事情。使用您目前拥有的任何代码启动一个新线程;如果可能,请附上示例幻灯片的屏幕截图。
    【解决方案2】:

    虽然没有提到,但如果您通过 VBA 代码在幻灯片上添加文本框(如 this 文档中所述),那么我猜文本框没有直接与特定幻灯片对齐的属性时尚(在你的情况下集中)。

    话虽如此,我还要指出一个可能的解决方法,可能是将文本框的 TopLeft 属性设置为 ratio 比例为您的演示文稿选择的幻灯片 高度宽度

    我认为这应该集中对齐文本框。

    【讨论】:

    • 非常感谢,按照您的建议,我现在学会了使用比例来对齐。
    猜你喜欢
    • 2012-07-17
    • 2015-07-29
    • 1970-01-01
    • 2022-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-09
    相关资源
    最近更新 更多