andre_franco Posted December 13, 2009 at 01:10 AM Report #300117 Posted December 13, 2009 at 01:10 AM 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.
jpaulino Posted January 6, 2010 at 09:33 AM Report #304409 Posted January 6, 2010 at 09:33 AM Olá, Ainda precisas de ajuda ?
andre_franco Posted January 22, 2010 at 10:23 AM Author Report #307576 Posted January 22, 2010 at 10:23 AM Olá, Ainda precisas de ajuda ? sim. como de pão para a boca...
jpaulino Posted January 26, 2010 at 10:22 AM Report #308081 Posted January 26, 2010 at 10:22 AM 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?
andre_franco Posted January 27, 2010 at 08:23 AM Author Report #308190 Posted January 27, 2010 at 08:23 AM 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.
FreiNando Posted February 2, 2010 at 09:34 PM Report #309272 Posted February 2, 2010 at 09:34 PM 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 O caminho mais curto para conseguir fazer muitas coisas é fazer uma de cada vez. Samuel Smiles
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now