|
Domanda.
nome=Giacomo
cognome=Rota
versione=XP
conosco2=medio
email=giacomorota@hotmail.com
chri=210
problema=Ciao, avrei bisogno del tuo aiuto: ho costruito un semplice foglio
di excel, personalizzato per ogni
collega del mio ufficio che all'interno contiene più cartelle, precisamente
12, una per mese solare.
Per non permettere modifiche ho protetto per ogni singolo foglio,e già
questo è stato un lavoraccio, adesso però mi trovo a doverlo modificare
nuovamente pertanto ti chiedo se esiste un modo di proteggere e sproteggere
in un'unica volta tutti i fogli di un file senza dover eliminare e
re-impostare la password ogni
volta.
Mentre ti scrivo sto muovendo i miei primi passi con macro (e qualche
pasticcio lo ho già fatto - tutte le volte che apro un file mi si apre una
cartella start.xls, che non riesco a eliminare) e con VBA.
Ti ringrazio in anticipo per l'aiuto.
Giacomo
Risposta.
ciao Giacomo, puoi creare 2 macro, una per proteggere e una per sproteggere,
queste le due macro dove ti ho previsto una password via codice, ed agisce
su tutti i fogli della cartella:
Sub proteggi()
For Each w In Worksheets
w.Protect Password = "pippo"
Next w
End Sub
Sub sproteggi()
For Each w In Worksheets
w.Unprotect Password = "pippo"
Next w
End Sub
Al posto di "pippo" metterai la tua password. Se invece non ti interessa
usare una password togli dalle due macro
Password = "pippo"
La password così inserita (nel codice) è intercettabile da
Strumenti/Protezione/Sproteggi Foglio, dopo che avrai salvato ed alle
successive aperture. Solo che così, dopo, chiunque, premendo il pulsante
associato a sproteggi, potrà togliere la protezione senza nessuna richiesta
di password. Se invece vuoi che per sproteggere venga richiesta, una sola
volta per tutti i fogli, la password, bisogna usare queste istruzioni:
Sub sproteggiconpass()
dimmi = InputBox("INSERISCI PASSWORD")
If dimmi = "" Then Exit Sub
If dimmi = "pippo" Then
For Each w In Worksheets
w.Unprotect Password:=dimmi
Next w
End If
End Sub
saluti, ennius
|