【问题标题】:Powerpoint Macro "MarginRight" Code is not workingPowerpoint 宏“MarginRight”代码不起作用
【发布时间】:2020-07-31 02:24:11
【问题描述】:

我正在编写用于格式化表格的 powerpoint 宏代码。

我不确定为什么文本不会根据右边距值进行调整。它仍然非常靠近边界(类似于将其设置为 0)。

    'Add Margins of Row 2 onwards, Column 3
    For lRow = 2 To oTbl.Rows.Count
        With oTbl.Cell(lRow, 3).Shape.TextFrame
            .HorizontalAnchor = msoAnchorNone
            .VerticalAnchor = msoAnchorMiddle
            .MarginRight = 72
            .MarginLeft = 120
        End With
    Next

没有错误提示。

我错过了什么吗?

【问题讨论】:

  • 120 对于 MarginRight 来说是一个很大的值。整个单元格有多宽?左边 72 分,右边 120 分,还有内容的空间吗?

标签: vba powerpoint


【解决方案1】:

这是一个最小可重现示例的样子,因此其他读者不必围绕您的代码 sn-p 重建宏来测试它。这是将来要发布的示例:

Sub SetTableMargin()
    Dim oTbl As Table
    Dim lRow As Integer
    Set oTbl = ActivePresentation.Slides(1).Shapes(1).Table
    For lRow = 2 To oTbl.Rows.Count
        With oTbl.Cell(lRow, 3).Shape.TextFrame
            .HorizontalAnchor = msoAnchorNone
            .VerticalAnchor = msoAnchorMiddle
            .MarginRight = 0
            .MarginLeft = 0
        End With
    Next
End Sub

此示例将左右边距都设置为 0。正如@tellyn 提到的,您的测量值非常大。 72 是 1 英寸,120 是 1.67 英寸,所以这必须是一个非常大的表格单元格。

【讨论】:

  • 编辑代码以显示 .MarginRight = 1 和 .MarginLeft = 1,它确实有效!谢谢!
  • 谢谢,如果你觉得有用,我很感激你的支持。
猜你喜欢
  • 2018-10-23
  • 2011-10-29
  • 1970-01-01
  • 1970-01-01
  • 2022-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多