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

    [Resolvido]MsgBox com fecho automático

    Compartilhe
    toyebom
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1088
    Registrado : 18/07/2012

    [Resolvido]MsgBox com fecho automático

    Mensagem  toyebom em 14/11/2018, 22:30

    Criei um botão num formulário que preenche um documento word
    Queria que ao fazer clique aparecesse uma MsgBox a informar que o documento está a ser gerado e que passados 2 ou 3 segundos ela fechasse automáticamente, tentei o exemplo do sergio vieira em
    http://www.maximoaccess.com/t2192-resolvidomsg-box-com-fechamento-automatico
    e funciona, no entanto se alterar deixa de funcionar e a caixa de mensagem não encerra.

    O exemplo do sergio vieira

    Código:
    Public Function MsgBoxTimer(Seconds As Integer, Prompt As String, Optional Title As String) As VbMsgBoxResult
    Set WShell = CreateObject("WScript.Shell")
    MsgBoxTimer = WShell.PopUp(Prompt, Seconds, Title)
    End Function


    Código:
    MsgBoxTimer (1), "obrigado por", (Aviso)

    Adaptei e deixou de fechar. Fiz:

    Private Sub Comando302_Click()
    MsgBoxTimer (1), "A gerar documento, aguarde .....", (Aviso)
    Dim wdApl As Object
    Set wdApl = CreateObject("Word.Application")
    wdApl.Documents.Open FileName:=CurrentProject.Path & "\FormuláriosAuto\Declaração Filho_Casamento.doc"
    With wdApl
    .ActiveDocument.Bookmarks("Texto1").Select: .Selection.text = Nz(Forms![Efectivo Posto].Texto164) 'Nome
    .ActiveDocument.Bookmarks("Texto2").Select: .Selection.text = Nz(Forms![Efectivo Posto].Posto) 'Posto
    .ActiveDocument.Bookmarks("Texto3").Select: .Selection.text = Nz(Forms![Efectivo Posto].Arma) 'Arma
    .ActiveDocument.Bookmarks("Texto4").Select: .Selection.text = Nz(Forms![Efectivo Posto].[BI Militar]) 'Numero BI
    .ActiveDocument.Bookmarks("Texto14").Select: .Selection.text = "o seu casamento com"
    .ActiveDocument.Bookmarks("Texto12").Select: .Selection.text = Nz(Forms![Efectivo Posto].[Nome Esposa])
    .ActiveDocument.Bookmarks("Texto13").Select: .Selection.text = Nz(Forms![Efectivo Posto].CaixaCombinação377) 'Data Casamento
    .ActiveDocument.Bookmarks("Texto15").Select: .Selection.text = "casamento"

    .ActiveDocument.Bookmarks("Texto6").Select: .Selection.text = Nz(Forms![Efectivo Posto].Texto164) 'Nome
    .ActiveDocument.Bookmarks("Texto7").Select: .Selection.text = Nz(Forms![Efectivo Posto].Posto) 'Posto
    .ActiveDocument.Bookmarks("Texto8").Select: .Selection.text = Nz(Forms![Efectivo Posto].Arma) 'Arma
    .ActiveDocument.Bookmarks("Texto9").Select: .Selection.text = Nz(Forms![Efectivo Posto].[BI Militar]) 'Numero BI

    .ActiveDocument.Bookmarks("Texto10").Select: .Selection.text = Nz(Forms![Efectivo Posto_Impressão].Texto290) 'Data

    .ActiveDocument.SaveAs CurrentProject.Path & "\RequerimentosEfetivo\" & "Declaração Casamento_" & [BI Militar] & ".doc"
    .ActiveDocument.Close
    .Quit
    End With
    Set wdApl = Nothing
    MsgBox "''Documento'' gerado em Word com sucesso na pasta ''RequerimentosEfetivo''.", vbInformation, "Aviso"
    End Sub

    Só o facto de mudar
    MsgBoxTimer (1), "obrigado por", (Aviso)
    para
    MsgBoxTimer (1), "A gerar documento, aguarde .....", (Aviso)
    Já não fecha, onde estarei a errar?


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    IvanJr.
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 457
    Registrado : 22/11/2016

    Re: [Resolvido]MsgBox com fecho automático

    Mensagem  IvanJr. em 15/11/2018, 01:26

    O argumento Title é do tipo String e deve estar entre aspas. Tente
    Código:
    MsgBoxTimer 1, "A gerar documento, aguarde .....", "Aviso"

    Se continuar não fechando, experimente acompanhar a execução do código com o ponto de interrupção e usando a tecla F8
    FranklinJSP
    FranklinJSP
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 165
    Registrado : 25/02/2016

    Re: [Resolvido]MsgBox com fecho automático

    Mensagem  FranklinJSP em 16/11/2018, 19:00

    Oi Toyebom!

    MsgBoxTimer (1), "A gerar documento, aguarde .....", (Aviso)
    Já não fecha, onde estarei a errar?

    Tenta assim:
    MsgBoxTimer (1), "A gerar documento. Favor aguarde .....", (Aviso)

    Eu acho que o problema está na vírgula "...documento, aguarde ....."


    .................................................................................
    Meu Português não é muito bom,
    mas eu gosto de colaborar... em qualquer idioma
    Smile "Access... minha paixão"
    toyebom
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1088
    Registrado : 18/07/2012

    MsgBox com fecho automático

    Mensagem  toyebom em 16/11/2018, 23:48

    Obrigado a ambos pela ajuda.
    Não consegui resolver dessa forma pois a MsgBox não fecha.
    Se estiver só a linha para fechar funciona se tiver mais linhas já não funciona.
    Resolvi de outra forma, criei um formulário com tempo de fecho para funcionar da mesma forma da MsgBox e ficou resolvido.

    Vou dar como resolvido, obrigado.


    .................................................................................
    Gente Simples, fazendo coisas pequenas, em lugares pouco importantes, consegue mudanças extraordinárias.
    vieirasoft
    vieirasoft
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    Re: [Resolvido]MsgBox com fecho automático

    Mensagem  vieirasoft em 17/11/2018, 11:02


    Teste agora:

    Public Function MsgBoxTimer(Seconds As Integer, Prompt As String, Optional Title As String) As VbMsgBoxResult
    Dim WShell
    Set WShell = CreateObject("WScript.Shell")
    MsgBoxTimer = WShell.PopUp(Prompt, Seconds, Title)
    End Function

    Private Sub Comando30_Click()
    Dim aviso As String
    MsgBoxTimer (1), "A gerar o documento, por favor aguarde", (aviso)
    End Sub
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3710
    Registrado : 06/11/2009

    Re: [Resolvido]MsgBox com fecho automático

    Mensagem  Assis em 17/11/2018, 13:26

    Boa tarde Vieira

    no meu Office 2013 32 não funciona.



    .................................................................................
    *** Só sei que nada sei ***
    vieirasoft
    vieirasoft
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    Re: [Resolvido]MsgBox com fecho automático

    Mensagem  vieirasoft em 17/11/2018, 13:47

    Assis, por favor teste este exemplo. Aqui dá em 2003 e 2007. Não consegui testar no 2010, pois estou com problemas nessa máquina.

    dropbox.com/s/btzt560l0rv3fok/bd3.mdb?dl=0
    Assis
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3710
    Registrado : 06/11/2009

    Re: [Resolvido]MsgBox com fecho automático

    Mensagem  Assis em 17/11/2018, 14:22

    Vieira

    Esta funciona no 2016.

    Cumprimentos



    .................................................................................
    *** Só sei que nada sei ***
    vieirasoft
    vieirasoft
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    Re: [Resolvido]MsgBox com fecho automático

    Mensagem  vieirasoft em 17/11/2018, 19:05

    Muito obrigado, Assis. Presumo que deve funcionar nas versões anteriores. Abraço.

      Data/hora atual: 23/2/2019, 17:41