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
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1073
    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
    [Você precisa estar registrado e conectado para ver este link.]
    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.
    avatar
    IvanJr.
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 305
    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
    avatar
    FranklinJSP
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 129
    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
    [Você precisa estar registrado e conectado para ver esta imagem.] "Access... minha paixão"
    avatar
    toyebom
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1073
    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.
    avatar
    vieirasoft
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7301
    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
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3597
    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 ***
    avatar
    vieirasoft
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7301
    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
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3597
    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 ***
    avatar
    vieirasoft
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7301
    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: 16/12/2018, 11:27