0

问题有点棘手,我用谷歌搜索并获得了一个链接http://joelblogs.co.uk/2010/08/13/automatically-create-summary-slides-in-powerpoint-2010/ 与 VBA 代码这对我有帮助在单个父幻灯片中插入一个演示文稿的所有其他幻灯片的标题摘要。代码工作正常,但是当带有标题的幻灯片数量超过 30 或 50 时,目录父幻灯片无法保存整个标题名称,因为名称将被隐藏并超出幻灯片演示。因此,我想确认是否有任何 VBA 代码通过 VBA 在目录幻灯片中将摘要名称的内容分配到三列?

4

1 回答 1

0

根据您有示例的链接,您需要在宏的 and 处添加该代码:

With summary.Shapes(2).TextFrame2
    .Column.Number = 3
End With

在摘要文本框中设置了 3 列。请记住,您可能还需要设置字体大小,以将文本保留在文本框中。

附加信息:我看到的是,只要您将更多文本放入摘要形状(Shapes(2)在我的示例中),字体大小就会发生变化(减小)。然后,您可以跟踪字体大小以检查是否应该增加列数。这是一个例子:

With summary.Shapes(2).TextFrame2
    If .TextRange.Font.Size < 20 Then
        'additionally check here if max approved column numbers is not exceeded.
        .Column.Number = .Column.Number + 1
    End If
End With

这是我完整的基本测试代码(可以为任何新的空演示文稿运行):

Sub test_loop()
    Dim summary As Slide
    Set summary = ActivePresentation.Slides.Add(1, ppLayoutText)

    Dim enterText as string
Do
    enterText = InputBox("Additional text to insert into Shape:")

With summary.Shapes(2).TextFrame2
    .TextRange.Text = .TextRange.Text & Chr(10) & enterText
    If .TextRange.Font.Size < 20 Then
        .Column.Number = .Column.Number + 1
    End If
End With

Loop While enterText <> ""
End Sub
于 2013-04-05T09:15:17.640 回答