ATENÇÃO NOVOS USUÁRIOS

Se registrou recentemente? Seu cadastro será avaliado e mendiante aprovação, a conta será ativada e você poderá usufruir do fórum. O tempo de avaliação gira em torno de 24 a 48 horas.

Esqueceu sua senha?

Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

[RESOLVIDO] Fechar userform por inatividade

Esclarecimentos e dúvidas sob o Modelo de Aplicativo de Cadastro em VBA no Microsoft Excel publicado no site e blog http://www.tomasvasquez.com.br
reinaldo.silva
Manda bem
Manda bem
Mensagens: 137
Registrado em: Ter Mai 11, 2010 12:00 pm

[RESOLVIDO] Fechar userform por inatividade

Mensagem por reinaldo.silva » Qua Jul 28, 2010 2:57 pm

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
Editado pela última vez por reinaldo.silva em Qui Set 02, 2010 12:40 pm, em um total de 1 vez.



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.



reinaldo.silva
Manda bem
Manda bem
Mensagens: 137
Registrado em: Ter Mai 11, 2010 12:00 pm

Re: Fechar userform por inatividade

Mensagem por reinaldo.silva » Qui Jul 29, 2010 11:31 am

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
Anexos
Fecha_Inativo.7z
(8.39 KiB) Baixado 377 vezes



Avatar do usuário
webmaster
Administrador
Mensagens: 2796
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

Re: Fechar userform por inatividade

Mensagem por webmaster » Qui Jul 29, 2010 12:01 pm

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


Tomás
https://www.tomasvasquez.com.br/blog
https://www.tomasvasquez.com.br/cursocsharp
https://twitter.com/tomamais
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


reinaldo.silva
Manda bem
Manda bem
Mensagens: 137
Registrado em: Ter Mai 11, 2010 12:00 pm

Re: Fechar userform por inatividade

Mensagem por reinaldo.silva » Qui Jul 29, 2010 2:41 pm

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



reinaldo.silva
Manda bem
Manda bem
Mensagens: 137
Registrado em: Ter Mai 11, 2010 12:00 pm

Re: Fechar userform por inatividade

Mensagem por reinaldo.silva » Qui Jul 29, 2010 5:08 pm

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?
Anexos
Lotes Contábeis Manuais, CIA 00207.7z
(81.1 KiB) Baixado 314 vezes



reinaldo.silva
Manda bem
Manda bem
Mensagens: 137
Registrado em: Ter Mai 11, 2010 12:00 pm

Re: Fechar userform por inatividade

Mensagem por reinaldo.silva » Seg Ago 02, 2010 10:31 pm

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



celiomendonca
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Qui Mar 01, 2018 10:13 pm

Re: [RESOLVIDO] Fechar userform por inatividade

Mensagem por celiomendonca » Qui Mar 01, 2018 10:18 pm

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.



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder