Hallo,
ich verwende folgendes Makro für die Sprachausgabe (vorlesen von Text aus Word-Dok.)
Sub SpeakText()
'Based on a macro by Mathew Heikkila
On Error Resume Next
Set speech = New SpVoice
If Len(selection.text) > 1 Then
'speak selection
speech.Speak selection.text, _
SVSFlagsAsync + SVSFPurgeBeforeSpeak
Else
'speak whole document
speech.Speak ActiveDocument.Range(0, ActiveDocument.Characters.Count).text, _
SVSFlagsAsync + SVSFPurgeBeforeSpeak
End If
Do
DoEvents
Loop Until speech.WaitUntilDone(10)
Set speech = Nothing
End Sub
Das funktioniert soweit, bis auf folgenden Fehler:
Bei Beginn des Vorlesens wird stets Wort 4 oder 5 weggelassen, man kann es nicht hören. Danach geht es ohne weiteren Fehler weiter.
Außerdem verwende ich den Code
Sub StopSpeaking()
'Based on a macro by Mathew Heikkila
'used to interrupt any running speech to text
On Error Resume Next
speech.Speak vbNullString, SVSFPurgeBeforeSpeak
Set speech = Nothing
End Sub
zum Stoppen des Vorlesens. Das klappt allerdings NIE!
Grüße-
Dietrich
|