• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

andre_franco

Fechar automaticamente um ficheiro exel

6 mensagens neste tópico

Ola a todos.

Há alguma forma de fazer com que um ficheiro exel que está disponivel numa rede possa ser fechado automaticamente e que grave ao fim de  5 mim de este ser aberto.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá,

Ainda precisas de ajuda ?

sim.

como de pão para a boca...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então mas dá lá mais detalhes ... o ficheiro está aberto por outra pessoa é isso ?

E para a gravação automática não serve o autosave?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu tenho um ficheiro de exel já com bastante codigo disponibilizado numa rede de uma empresa, como é um ficheiro de preenchimento diario e muito util, há sempre algum utilizador que utiliza e se esquece dele aberto, então os outros já so podem aceder a ele atravez de "read only".

O que eu pretendia era que depois de aberto ele automaticamente grava-se e se fecha-se ao fim de 5 minutos, para que os outros utilizadores introduzirem os seus dados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Conheço um modo de o fazer, mas é em VBA, e como por defeito o Excell bloqueia as macros, para que possa funcionar todos os utilizadores têm de permitir a execução de macros neste ficheiro.

Além disso basta o utilizador usar Ctrl+Break e pode parar a macro.

Por último, este procedimento é invulgar porque leva o processador a trabalhar sempre, no entanto deixa as outras aplicações trabalhar normalmente.

Este é o código a colocar no Workbook(EsteLivro):

Option Explicit


'Fechar um minuto depois de abrir
Private Sub Workbook_Open()
    Dim D As Date, N As Integer
    On Error Resume Next
    
Inicio:
    
    D = Now + TimeSerial(0, 1, 0) 'Um minuto . Pode ser outro valor

    While D > Now
        DoEvents        
    Wend
    
    N = MsgBox("Este documento irá fechar." & vbCrLf & _
                "Pretende gravar as alterações?", vbDefaultButton1 + vbYesNoCancel)
    If N = vbCancel Then GoTo Inicio
    If N = vbYes Then Me.Close True Else Me.Close False
    
End Sub

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora