可以使用SpVoice的Status属性来判断是否播放完毕。当Status属性为SPEAKING时,表示正在播放;当Status属性为PAUSED时,表示已暂停;当Status属性为DONE时,表示已经播放完毕。
以下是一个示例代码:
```
Dim voice As New SpVoice
voice.Speak "Hello, world!", SVSFDefault
Do While voice.Status = SPSPEAKING
'等待语音播放完毕
Loop
MsgBox "语音播放完毕!"
```
在上面的代码中,我们使用了一个循环来等待语音播放完毕。当Status属性为SPEAKING时,循环会一直执行,直到Status属性变为DONE,表示语音已经播放完毕。然后弹出一个消息框,提示用户语音播放完毕。