ωo兠兠洧溏 发表于 2016-4-12 13:36:11

分享并求完善 ppt随心所欲朗读文本之VBA代码

ppt随心所欲朗读文本之VBA代码
下面这两个小程序,第一个没有问题,第二个有BUG,求大侠和行家指教。代码如下:
lide1中代码
Private Sub CommandButton1_Click()
依次朗读
End Sub
Private Sub CommandButton2_Click()
逐屏朗读
End Sub
模块1
Sub 依次朗读()
For i = 1 To ActivePresentation.Slides.Count
Set yy = CreateObject("sapi.spvoice")
Set myDocument = ActivePresentation.Slides(i)
For Each s In myDocument.Shapes
If s.HasTextFrame Then
With s.TextFrame
yy.Speak .TextRange.Text
'Excel.Application.Speech.Speak .TextRange.Text
End With
End If
Next
Next
End Sub
模块2
Sub 逐屏朗读()
Set yy = CreateObject("sapi.spvoice")
With ActivePresentation.SlideShowSettings
.ShowType = ppShowTypeSpeaker
.ShowWithNarration = msoTrue
.ShowWithAnimation = msoTrue
.RangeType = ppShowAll
.AdvanceMode = ppSlideShowUseSlideTimings
.PointerColor.SchemeColor = ppForeground
.Run
End With
For i = 1 To ActivePresentation.Slides.Count
Set myDocument = ActivePresentation.Slides(i)
For Each s In myDocument.Shapes
If s.HasTextFrame Then
With s.TextFrame
yy.Speak .TextRange.Text
End With
End If

user_xlhpv 发表于 2016-4-12 14:42:46

Set yy = CreateObject("sapi.spvoice")
出错

user_itknl 发表于 2016-4-12 15:15:23

没有出错呀

willie2006 发表于 2016-4-12 15:20:23

要是每读完一个文本框里的内容,字体就变色就更加完美了。

user_troblfsh 发表于 2016-4-12 16:24:16

想想办法,能实现的。

chinamazha 发表于 2016-4-12 16:49:19

应该不是太难,完全可以,不过目前,我还没有研究这个的计划,稍后一定会实现

user_swadsqfb 发表于 2016-4-12 16:55:18

能表色,但不是与朗读同时进行,而是发生在朗读之后,请察看!!

user_bvssr 发表于 2016-4-12 17:06:00

能表色,但不是与朗读同时进行,而是发生在朗读之后,请察看!!
如有改进的地方告我一声

user_xcmqp 发表于 2016-4-12 17:10:23

在同一张幻灯片内的多个文本,只是在幻灯片切换后才变了色。可能要增加个文本更新的语句。

ej4167 发表于 2016-4-12 17:24:40

这个,刷新的语句,我目前还没掌握,请教给我,谢谢。
页: [1]
查看完整版本: 分享并求完善 ppt随心所欲朗读文本之VBA代码