Condividi:        

durata file

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

durata file

Postdi raimea » 28/05/15 05:45

ciao
tramite macro , se possibile vorrei gestire la durata di un file.

quindi:
in automatico dovrebbe prendere la data
del 1mo giorno che e' stato aperto x la 1ma volta.

da quel giorno durare XX giorni, Es. 365 giorni.

ad ogni apertura file dire: ti restano XX giorni .

poi, scaduti i 365 giorni i successivi tentativi di apertura file
non dovrebbe piu aprirsi e apparire un messaggio : file scaduto.

e' possibile ?

ringrazio
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1414
Iscritto il: 11/02/10 07:33
Località: lago

Sponsor
 

Re: durata file

Postdi Flash30005 » 28/05/15 08:53

Si può fare ma...

Supponendo che tu invii il file con qualsiasi mezzo (email, server o altro)
l'utente salva il file (magari è un file archivio .zip o .rar)
lo scompatta e lo usa.
il campo data prima apertura suppongo sia vuoto e sarà popolato con la data odierna
una macro allo scadere del periodo avvisa fino alla scadenza dopo la quale la macro "non permette" l'utilizzo del file.
Ok, l'utente riprende l'archivio originale, preleva il file vergine e lo avvia.
Questo file durerà ancora per tutto il periodo previsto.
Come pensi si possa risolvere?

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: durata file

Postdi raimea » 28/05/15 09:02

ciao
sono disposto ad accettare questa condizione
cioè. se scompatta l originale riparte a contare i giorni

grazie
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1414
Iscritto il: 11/02/10 07:33
Località: lago

Re: durata file

Postdi Anthony47 » 28/05/15 11:29

Useremo un foglio in cui scriverai in B1 la "durata" mentre B2 verra' usato tramite macro per inserirci la data di prima apertura e quindi calcolare il residuo.
Crea questo foglio e inserisci la Durata (B1), lasciando vuota B2; poi vai nel vba e visualizza le Proprieta' del foglio, e imposta Visible=2 - xlSheetVeryHidden per nasconderlo.

Poi inserisci in ThisWorkbook la seguente macro:
Codice: Seleziona tutto
Private Sub Workbook_Open()
If Foglio4.Range("B2").Value = "" Then Foglio4.Range("B2").Value = Int(Now())
myres = (Foglio4.Range("B2").Value + Foglio4.Range("B1").Value) - Int(Now)
If myres > 0 Then
    MsgBox ("Il file potra' essere usato ancora per " & myres & " giorni")
Else
    MsgBox ("Il file e' scaduto...")
    ThisWorkbook.Close savechanges:=False       '<<< Opzionale
End If
End Sub

Nella macro ho usato il "Codename" per indirizzare il foglio di servizio; e' quello che viene visualizzato nel vbaProject non tra parentesi, quindi sostituisci quei "Foglio4" col Codename del tuo foglio.
Salva il file e distribuiscilo in questa versione, con B2 vuoto.

Il tutto funzionera' solo se l' utente del file collabora.
Collauda e tra un anno fai sapere se e' ok.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19220
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: durata file

Postdi raimea » 28/05/15 17:14

ciao
primi test tutto ok
faccio ulteriori prove

se servira' tornero "sul post"

grazie
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1414
Iscritto il: 11/02/10 07:33
Località: lago

Re: durata file

Postdi raimea » 31/05/15 08:16

ciao
ho aggiunto un istruzione che va a nascondere,
il fgl di servizio nel caso sia stato scoperto.

Codice: Seleziona tutto
Private Sub Workbook_Open()
'======serve x dare durata in gg al file e nascondere fgl di servizio====================
   
    'ATTIVARE QUESTE ISTRUZIONI PER NASCONDERE IL FOGLIO fgl 11,  E SCOPRIRLO SOLO DA VBA
   
    With Foglio11 '<=== NOME delFOGLIO di servizio
    If .Visible <> xlVeryHidden Then
        .Visible = xlVeryHidden
    End If
End With

'------
If Foglio11.Range("B2").Value = "" Then Foglio11.Range("B2").Value = Int(Now())
myres = (Foglio11.Range("B2").Value + Foglio11.Range("B1").Value) - Int(Now)
If myres > 0 Then
    MsgBox ("Il file potra' essere usato ancora per " & myres & " giorni")
Else
    MsgBox ("Il file e' scaduto...")
    ThisWorkbook.Close savechanges:=False       '<<< Opzionale
End If
'====================================================================================

End Sub


ciao
S.O. win10, Excell 2019
Avatar utente
raimea
Utente Senior
 
Post: 1414
Iscritto il: 11/02/10 07:33
Località: lago


Torna a Applicazioni Office Windows


Topic correlati a "durata file":


Chi c’è in linea

Visitano il forum: Nessuno e 54 ospiti

cron