MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Fazer o access falar de forma "Async" sem bloquear outras ações do código

    Compartilhe
    avatar
    microwill
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 10/08/2013

    Fazer o access falar de forma "Async" sem bloquear outras ações do código

    Mensagem  microwill em 26/10/2018, 04:09

    Prezados Senhores

    Antes de mais nada, venho agradecer os GIGANTES deste fórum, especialmente o JPaulo.

    O código do JPaulo fala o texto perfeitamente, mas não estou conseguindo utiliza-lo sem parar as outras ações do meu código.

    Ou seja, enquanto estiver lendo qualquer texto, todo o restante do código fica aguardando terminar a leitura do texto e só depois que termina a leitura do texto é que o restante do código segue a sequencia.

    Notei na documentação SPVoice no site da Microsoft que existe uma forma de usar este recurso no VBA de forma Async por meio de Flags mas já tentei de tudo e não consigo adaptar para que funcione.

    Lá diz que basta colocar a linha dessa forma:

    objVo.Speak "qualquer texto", SVSFlagsAsync

    Alguém consegue me ajudar? JPaulo conhece alguma solução?

    Código:
    Option Explicit
    Public Function FazerFalar(str As String)
    'By JPaulo 2008
    Dim objVo As Object
    Set objVo = CreateObject("SAPI.SpVoice")
    objVo.Speak str, SVSFlagsAsync
    End Function
    avatar
    Estuardo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 20
    Registrado : 24/09/2014

    Re: Fazer o access falar de forma "Async" sem bloquear outras ações do código

    Mensagem  Estuardo em 9/11/2018, 17:21

    Boa tarde,
    Declare o objVo fora da função e mude a flag para 1
    assim:
    Código:

    objVo.Speak str, 1

    Saludos
    avatar
    microwill
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 10/08/2013

    Re: Fazer o access falar de forma "Async" sem bloquear outras ações do código

    Mensagem  microwill em 9/11/2018, 17:56

    Obrigado Colega!

    Perdão, eu já havia conseguido e me esqueci de encerrar o tópico.
    Agradeço mesmo assim pela sua dica!

    Na internet pouco se encontra a respeito desse assunto.
    Como eu não consegui ajuda antes, passei alguns dias quebrando a cabeça e consegui, mas foi preciso abrir mão do Modulo do JPaulo.

    Montei o código dentro do próprio form!
    avatar
    Estuardo
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 20
    Registrado : 24/09/2014

    Re: Fazer o access falar de forma "Async" sem bloquear outras ações do código

    Mensagem  Estuardo em 9/11/2018, 18:20

    Ainda bem!
    De qualquer forma, fica já aqui para outros possíveis leitores.
    Realmente o importante é declarar o objeto fora da função/sub onde é utilizado e a flag a 1.
    Saludos
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5589
    Registrado : 15/03/2013

    Re: Fazer o access falar de forma "Async" sem bloquear outras ações do código

    Mensagem  ahteixeira em 10/11/2018, 00:47

    Olá a todos,


    Max Will, se poder partilhar a solução o fórum agradece.

    Abraço a todos

      Data/hora atual: 17/11/2018, 03:04