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
https://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
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?
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
https://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?