PowerPoint 演示文稿中的文本框

PowerPoint 演示文稿中的文本框

我正在制作 PowerPoint 演示文稿,需要在实际演示过程中在屏幕上添加信息,即参加演示的人员提供的信息。

因此,我从“开发人员”选项卡中添加了一个文本框,这样我就可以在演示过程中输入数据。没问题。

但是当我单击新幻灯片时,我可以保留我输入的数据吗?

当我转到下一张幻灯片时,我输入的信息消失了。有没有办法将其保留在下一张幻灯片中?

提前致谢。

答案1

信息不会就此消失;当您返回最初输入信息的幻灯片时,信息仍会存在。它只是不会自动出现在其他幻灯片的 ActiveX 文本框中。

当您从一张幻灯片移动到下一张幻灯片时,文本框的 Lost Focus 事件将会触发,因此 Lost Focus 事件中的某些代码可以查看演示文稿中的每一张幻灯片,累积任何文本框控件中的任何文本,然后使每个文本框中的文本与累积的文本相匹配。

这并不完美,但如果你想尝试一下,这是一个开始。将此代码应用于每个控件的 LostFocus 事件。如需更多帮助,请使用 Powerpoint 和 VBA 标签将问题发布到 StackOverflow,而不是此处:

Private Sub TextBox1_LostFocus()

    Dim oSl As Slide
    Dim oSh As Shape
    Dim sText As String

    On Error Resume Next
    ' Accumulate text from all ActiveX text boxes
    For Each oSl In ActivePresentation.Slides
        For Each oSh In oSl.Shapes
            If oSh.Type = msoOLEControlObject Then
                sText = sText & oSh.OLEFormat.Object.Text
            End If
        Next
    Next

    ' Apply the accumulated text
    For Each oSl In ActivePresentation.Slides
        For Each oSh In oSl.Shapes
            If oSh.Type = msoOLEControlObject Then
                oSh.OLEFormat.Object.Text = sText
            End If
        Next
    Next

End Sub

相关内容