【问题标题】:Removing white space of table rows in PowerPoint using macros使用宏删除 PowerPoint 中表格行的空白
【发布时间】:2019-07-12 03:24:18
【问题描述】:

我一直在忙于修复超出幻灯片高度和宽度的表格内容。为了做到这一点,我尝试缩小表格中的文本大小(如图所示,字体大小从 14 更改为 9) 我计划使用的另一种技术是,通过降低高度(标记为蓝色)来消除表格每行中多余的“空白/空白空间”。

请帮助我提高我的想法或任何信息来实现这一目标。

image

【问题讨论】:

标签: vba powerpoint


【解决方案1】:

这利用了 PowerPoint 永远不会将行高缩小到小于单元格中包含的文本的高度这一事实。它将继续缩小文本,直到表格适合幻灯片。

Sub CheckTableHeight()
  Dim oSlide As Slide
  Dim oShape As Shape
  Dim oTable As Table
  Dim Row&, Column&
  For Each oSlide In ActivePresentation.Slides
    For Each oShape In oSlide.Shapes
      If oShape.HasTable Then
        Set oTable = oShape.Table
        Do Until oShape.Height + oShape.Top < ActivePresentation.PageSetup.SlideHeight
          For Row& = 1 To oTable.Rows.Count
            oTable.Rows(Row&).Height = 5
            For Column& = 1 To oTable.Columns.Count
              oTable.Cell(Row&, Column&).Shape.TextFrame2.TextRange.Font.Size = (oTable.Cell(Row&, Column&).Shape.TextFrame2.TextRange.Font.Size - 1)
            Next Column&
          Next Row&
        Loop
      End If
    Next oShape
  Next oSlide
End Sub

【讨论】:

  • 非常感谢。我发现,如果我们在文本框/表格/图表中删除每个文本末尾的空格,它将非常有效。能否请您分享您对此的看法..
  • 遍历所有文本以查找成对的空格。当搜索停止返回结果时,再搜索成对的空格并返回。然后行高调整会将行高最小化为可见文本。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-03
  • 2012-03-20
相关资源
最近更新 更多