Interrompre le speech en cours

escouger

XLDnaute Occasionnel
Bonjour,
J'ai ajouté des textes "parlés" dans un excel, pour expliquer -par exemple- pourquoi un champ est mal saisi.
Je souhaiterai, dans le cas ou le texte parlé est trop long pouvoir l'interrompre et continuer la suite de ma macro.
Je n'ai pas trouvé de moyen (escape, Ctl + C etc...). Je suis donc obligé d'attendre jusqu'à la fin du speech....

Connaitriez-vous une commande qui permette cela ?

Merci d'avance.

Gérard
 

Modeste geedee

XLDnaute Barbatruc
Re : Interrompre le speech en cours

Bonsour®
vous ne nous dites pas la méthode utilisée pour émettre le texte parlé ???
- lecture automatique : cellules vocales
- texte pré-enregistré Wav, MP3 etc...
- procédure speech.speak

pour ce dernier cas :
VB:
Sub test()
On Error GoTo handleCancel
Application.EnableCancelKey = xlErrorHandler
Application.Speech.Speak "appuyer sur escape pour arrêter le texte parlé "
Application.Speech.Speak "Bonjour, " _
& "J'ai ajouté des textes 'parlés' dans un excel, " _
& "pour expliquer -par exemple- pourquoi un champ est mal saisi." _
& "Je souhaiterai, dans le cas ou le texte parlé est trop long pouvoir l'interrompre" _
& "et continuer la suite de ma macro." _
& "Je n'ai pas trouvé de moyen (escape, Ctrl + C etc...)." _
& "Je suis donc obligé d'attendre jusqu'à la fin du speech..." _
& "Connaitriez-vous une commande qui permette cela ?" _
& " Merci d'avance." _
& "Gérard "
Exit Sub
handleCancel:
'If Err = 18 Then
    Application.Speech.Speak "Vous avez stoppé la lecture !"
'End If
End Sub
 

Modeste geedee

XLDnaute Barbatruc
Re : Interrompre le speech en cours

Bonsour®
le même sous forme de fonction à laquelle on passe comme argument le texte à lire :

usage :
Call parler ("mettre ici le texte qui doit être vocalisé")
cela peut être un string explicite, ou bien le contenu d'une cellule (cells(3,4).text)

VB:
Function Parler(blablabla As String) As String
On Error GoTo handleCancel
Application.EnableCancelKey = xlErrorHandler
'Application.Speech.Speak "appuyer sur escape pour arrêter le texte parlé "
Application.Speech.Speak blablabla
Parler="Lu"
Exit Function
handleCancel:
'If Err = 18 Then
    Application.Speech.Speak "Vous avez stoppé la lecture !"
'End If
Parler = "Stoppé"
End Function
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16