Como salvar e fechar uma planilha do Excel após tempo ocioso no Excel 2010

Como salvar e fechar uma planilha do Excel após tempo ocioso no Excel 2010

Tenho o Excel 2010. Estou enfrentando situações em que as pessoas saem do trabalho e deixam uma pasta de trabalho do Excel em um servidor de arquivos compartilhado aberta exclusivamente; como resultado, outros usuários não conseguem editar a pasta de trabalho. Como posso mitigar esse problema?

Responder1

A solução recomendada para o seu problema é permitir que vários usuários editem a planilha do Excel ao mesmo tempo. VerSobre pastas de trabalho compartilhadasna ajuda do Excel para obter detalhes. O ponto crucial dessa abordagem é ir para a guia Revisão na faixa do Excel e clicar no botão “Compartilhar pasta de trabalho” na seção “Alterações”.

Certamente, tente usar o recurso "Pastas de trabalho compartilhadas" como solução principal. Leia mais apenas se você já experimentou as pastas de trabalho compartilhadas e não consegue fazer com que elas satisfaçam suas necessidades.

Se isso não funcionar na sua situação por algum motivo (alguns recursos da pasta de trabalho não são compatíveis com pastas de trabalho compartilhadas), tente istoSolução VBA:


IMHO que, por razões de proteção de seus dados, isso é uma coisa muito imprudente de se fazer.

Imagine o cenário em que um usuário excluiu acidentalmente muitos dados e fica sentado com as mãos nas mãos, pensando no que fazer e quando confessar. Agora todos nós sabemos que você pode simplesmente fechar a pasta de trabalho sem salvar as alterações e não teremos problemas, mas ao considerar a próxima etapa, esse código será executado e você terá um dia muito ruim. Dito isto, tente isto: -

ALT+F11 para abrir o editor VB. Clique duas vezes em 'ThisWorkbook' e cole os 2 primeiros módulos à direita.

Private Sub Workbook_Open()
    StartTimer
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    StartTimer
End Sub

Agora clique com o botão direito do mouse no módulo de inserção 'ThisWorkbook' e cole este código. Salve, feche e reabra a pasta de trabalho e após 15 minutos de tempo ocioso ela será salva e fechada automaticamente.

Const idleTime = 900 'seconds
Dim Start
Sub StartTimer()
    Start = Timer
    Do While Timer < Start + idleTime
        DoEvents
    Loop
    Application.DisplayAlerts = False
    ActiveWorkbook.Close SaveChanges:=True
    Application.DisplayAlerts = True
End Sub

informação relacionada