Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
#51921
bom dia ,tenho uma planilha na rede com varias pessoas usando ,quando alguém deixa a planilha aberta ninguém pode mas usa..
gostaria de um código vba para fecha a planilha apos algum tempo inativa ; obs. só quando estiver inativa para não ficar fechando todo hora ..
#51923
A planilha não é compartilhada certo? É complicado explicar ao código VBA o que seria "ser inativo". Segue um exemplo funcional:

Isso voce poe num módulo:
Código: Selecionar todos
Dim DownTime As Date

Sub SetTimer()
    DownTime = Now + TimeValue("00:05:00") 'Valor pra fechar a planilha (Está em 5 min)
    Application.OnTime EarliestTime:=DownTime, Procedure:="ShutDown", Schedule:=True
End Sub

Sub StopTimer()
    On Error Resume Next
    Application.OnTime EarliestTime:=DownTime, Procedure:="ShutDown", Schedule:=False
 End Sub

Sub ShutDown()
    Application.DisplayAlerts = False
    ThisWorkbook.Save
    ThisWorkbook.Close
End Sub
No Workbook Open voce poe:
Código: Selecionar todos
Call SetTimer
No Workbook BeforeClose voce poe:
Código: Selecionar todos
Call StopTimer
E por último, para resetar o contador, voce poe no SheetSelectionChange e no Calculate isso:
Código: Selecionar todos
Call StopTimer
Call SetTimer
#51928
bom dia Eduardo, esse código ficou show .. um duvida como posso resolver o problema se tiver mas de uma planilha aberta esse código fecha todas as planilhas, queria fechar só a planilha especifica..obs . a planilha fecha mas ainda fica aberta, ela fica cinza como resolver isso ? eu coloquei application.quit tirei o close ...
#51930
Caramba, foi de quebrar a cabeça, mas deu certo. Substitua o código a Sub ShutDown:
Código: Selecionar todos
If Application.Workbooks.Count = 1 Then

    Application.Workbooks(ThisWorkbook.Name).Activate
    Application.Workbooks(ThisWorkbook.Name).Save
    Application.Quit

Else

    Application.Workbooks(ThisWorkbook.Name).Activate
    Application.Workbooks(ThisWorkbook.Name).Close True

End If
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord