如何解决通过鼠标单击传递新值
我在Slide1上有一个名为“问题”的形状,在Slide2上有一个包含8个问题的8x1表。 我编写了一个过程,当单击形状时,该过程会将问题传递到形状的文本范围:
Sub Questions()
Dim qRange As TextRange,qTable As Table
Set qRange = ActivePresentation.Slides(1).Shapes("Question").TextFrame.TextRange
Set qTable = ActivePresentation.Slides(2).Shapes(1).Table
For i = 1 To 8
qRange = qTable.Cell(i,1).Shape.TextFrame.TextRange
Next
End Sub
但是,形状立即显示了最后一个问题,而不是鼠标单击时一个接一个地显示。如何捕获鼠标单击事件以在PowerPoint中显示每个问题?
解决方法
一种选择可能是使用Static
变量而不是循环,并在宏内部将其递增1,并添加一些逻辑以在递增之前将其重置为0(如果等于8)。
Sub Questions()
Dim qRange As TextRange,qTable As Table
Set qRange = ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange
Set qTable = ActivePresentation.Slides(2).Shapes(1).Table
Static i As Long
If i = 8 Then
i = 0 'Reset to loop again from the beginning
End If
i = i + 1
qRange = qTable.Cell(i,1).Shape.TextFrame.TextRange
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。