Text = WScript.Arguments(0)
Speaker = WScript.Arguments(1)
Set s = CreateObject("SAPI.SpVoice")
For Each Voice In s.GetVoices
I = I + 1
If InStr(Voice.GetDescription, Speaker) > 0 Then
Set s.Voice = s.GetVoices.Item(I-1)
Exit For
End If
Next
s.Speak Text
提示你下标越界了,可以一步一步输出看看是哪里的问题
Set s.Voice = s.GetVoices.Item(I-1)
这里你要判断是否存在对应元素
Text = WScript.Arguments(0)
Speaker = WScript.Arguments(1)
Set s = CreateObject("SAPI.SpVoice")
I=1
For Each Voice In s.GetVoices
I = I + 1
If InStr(Voice.GetDescription, Speaker) > 0 Then
Set s.Voice = s.GetVoices.Item(I-1)
Exit For
End If
Next
s.Speak Text
你代码不完整,i没有赋给初值