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

3

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

    
por user259582 03.10.2013 / 17:13

1 resposta

7

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

Por todos os meios, tente usar o recurso "Pastas compartilhadas" como uma solução principal. Leia somente mais se você já tentou Pastas de Trabalho Compartilhadas e não consegue atendê-las para satisfazer suas necessidades.

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

IMHO that for reasons of safeguarding your data this is a most unwise thing to do.

Imagine the scenario where a user has accidentally deleted lots of data and is sitting there head in hands wondering what to do and when to confess. Now we all know you can simply close the workbook without saving changes and we're out of trouble but while considering the next step this code executes and your now going to have a very bad day. That said try this:-

ALT+F11 to open VB editor. Double click 'ThisWorkbook' and paste the first 2 modules in on the right.

Private Sub Workbook_Open()
    StartTimer
End Sub

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

Now right click 'ThisWorkbook' insert module and paste this code in. Save close and re-open the workbook and after 15 minutes of idle time it will save and close automatically.

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
    
por 03.10.2013 / 18:13