Página 1 de 1

[RESOLVIDO] Fechar userform por inatividade

Enviado: Qua Jul 28, 2010 2:57 pm
por reinaldo.silva
Boas gente..

Estou usando o código abaixo para fechar as plan por inatividade, eu gostaria tbém de fechar os userform...mas não consigo...valeu pela atenção...

Private Sub Workbook_Open()
UserForm1.Show
SaveSheet = True 'Defina True para Salvar a planilha ao Fechar ou False para não salvar
Timeout = 3 'O Tempo de Inatividade é o resultado de TimeOut*TempoVerifica
TempoVerifica = "00:00:05" 'Intervalo de Verificação
StartTimer 'Inicia o Timer(descomentar para funcionar)
End Sub
Private Sub Workbook_Activate()
TempoInativo = 0
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
TempoInativo = 0
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
TempoInativo = 0
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
TempoInativo = 0
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
TempoInativo = 0
End Sub

Global Timeout As Integer
Global SaveSheet As Boolean
Global TempoVerifica As String
Global dTime
Global TempoInativo As Integer
Function StartTimer()
dTime = Now + TimeValue(TempoVerifica)
Application.OnTime dTime, "Verifica", , True
End Function
Function Verifica()
TempoInativo = TempoInativo + 1
If TempoInativo >= Timeout Then
Application.StatusBar = False
ThisWorkbook.Close SaveSheet
End If
dTime = Now + TimeValue(TempoVerifica)
Application.OnTime dTime, "Verifica", , True
End Function
Function StopTimer()
Application.StatusBar = False
Application.OnTime dTime, "Verifica", , False
End Function

Re: Fechar userform por inatividade

Enviado: Qua Jul 28, 2010 11:37 pm
por webmaster

Re: Fechar userform por inatividade

Enviado: Qui Jul 29, 2010 11:31 am
por reinaldo.silva
Dae Tomas... cara deu certinho...valeu...

Cara aproveitando este post...vc me mandou algum tempo atras um código que fecha se inativo...funciona beleza apenas...
Ocorre que quando eu salvo e fecho o arquivo antes do tempo pré determinado, ele continua correndo o tempo e no tempo determinado abre novamente a tela para habilitar a segurança de macro do arquivo, agora se fechar por inatividade não abre fica ok...

Será que fiz alguma coisa errada...se puder dar uma olhada...segue o arquivo para sua análise...

valeu

Re: Fechar userform por inatividade

Enviado: Qui Jul 29, 2010 12:01 pm
por webmaster
Reinaldo,

Suspeito que seja preciso cancelar a macro agendada antes de fechar. Veja como fazer isso em:

http://www.tomasvasquez.com.br/blog/mic ... cao-ontime

Abraços

Re: Fechar userform por inatividade

Enviado: Qui Jul 29, 2010 2:41 pm
por reinaldo.silva
Dae Tomas...cara fiz o diabo mas não consegui cancelar o ontime...se eu salvo e fecho o arquivo antes do tempo da inatividade, no tempo determinado o cara abre novamente a tela para habilitar a macro...
Eu coloquei o código junto com o módulo do runtime, talvez eu tenha colocado no lugar errado...se puder me orientar... :mrgreen:

Sub RunTime()
Application.OnTime _
EarliestTime:=EndTime, _
Procedure:="CloseWB", _
Schedule:=True
End Sub
Sub CloseWB()

Application.DisplayAlerts = False

With ThisWorkbook
.Saved = True
.Close
End With
End Sub

Sub CancelaOnTime()
Call Application.OnTime(EarliestTime:=EndTime("00:00:20"), _
Procedure:=”ExecutaOnTime”, Schedule:=False)
End Sub

Re: Fechar userform por inatividade

Enviado: Qui Jul 29, 2010 5:08 pm
por reinaldo.silva
Dae Tomas, cara vc sabe porque quando eu abro o arquivo altero e fecho salvando, ele abre novamente automático????

Segue planilha para suas análise eu acho que tenho que limpar a memória será isso?

Re: Fechar userform por inatividade

Enviado: Seg Ago 02, 2010 10:31 pm
por reinaldo.silva
dae Tomas...beleza
Cara no post anterior, tava com uma dúvida quanto ao seu código de fechar por inatividade...ele fecha na boa mas não sei porque, depois de algum tempo abre a tela novamente para habilitar as macros...meio louco... se puder me dar um help..
valeu

Re: [RESOLVIDO] Fechar userform por inatividade

Enviado: Qui Mar 01, 2018 10:18 pm
por celiomendonca
Alguem pode comentar esse codigo ai a cima, não consegui adaptar ,, preciso fechar um USERFORM se ficar inativo por um certo periodo de tempo sem entrada de dados, sem que o usuario mexa o mouse por cima.
como se fosse um tempo de bloqueio de tela do windows.
então quero que se o usuario abrir um USERFORM e ficar mais de um minuto sem mexer , que o USERFORM faça UNLOAD ME.