Pergunte aqui
0

Macro para saber se houve alterações na Planilha

perguntadas 2019-03-07 01:48:05 +0200

imagem do gravatar de Marco Salles

updated 2019-03-07 18:01:06 +0200

Boa noite

Então qund se fecha um Arquivo o Windows ( Sistema operaçiona) perguntará se

        MsgBox( "Salvar as alterações no documento"_
       &chr(13)&+cDocumento+"  antes de fechar?"_
       &chr(13)&""_
       &chr(13)&"Suas alteraçoes serão perdidadas se não salva-las",3 ,"Salvar Alterações ???")

Porém so aparece a Mensagem se Alguma Alteração estiver em curso . Caso contrário o Documento é fechado e o usuário não recebe nenhum Alerta

Como saber mediante Macro se Houve alteração ou não para posteriormente mostrar ou não a Mensagem qnd se fechar o Arquivo mediante MACRO

Se Houve Alteração - > Mostra Mensagem

Se não Houve Fecha o Arquivo sem nenhuma mensagem

Obg

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

1 Resposta

0

respondidas 2019-03-07 11:54:43 +0200

@Marco Salles; uso estas macros:

A Primeira Pergunta se quer Salvar ( quando houve alteração );

'=============================
sub ArquivoFecharConfirmacao
'=============================
Dim document As Object, dispatcher As Object
document  = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:CloseWin", "", 0, Array())
end sub

A Segunda Salva e Fecha sem consultar:

'=============================
sub ArquivoSalvarFechar
'=============================
Dim document As Object, dispatcher As Object
document  = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:Save", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:CloseWin", "", 0, Array())
end sub

A Terceira Salva sem fechar:

'=============================
sub ArquivoSalvarSemFechar
'=============================
Dim document As Object, dispatcher As Object
document  = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(document, ".uno:Save", "", 0, Array())
end sub

A Quarta Fecha como esta, se houve alteração não é salvo:

'===============================================
Sub FecharArquivoAtualSemSalvar
'===============================================
document = thisComponent
document.close(true)
End Sub

Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha Descrição da imagem a esquerda da resposta, para finalizar a pergunta.

editar assinalar como ofensivo Excluir Link mais

Comentários

1

Isso me serviu muito bem

Obrigado Gilberto

imagem do gravatar de Marco SallesMarco Salles ( 2019-03-07 17:28:54 +0200 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2019-03-07 01:48:05 +0200

Lidas: 22 vezes

Última atualização: Mar 07