Di seguito riporto una macro VBA per Word che assegna una specifica password (di protezione in modifica) a tutti i file DOC contenuti in una determinata directory.
Una volta applicata la protezione ai file, sarà inibita qualsiasi modifica, ad esclusione di eventuali moduli presenti nei documenti .
Ovviamente i file a cui deve essere applicata la password, prima dell’esecuzione della macro, non devono essere già protetti.
Sub inserisci_password_file_cartella()
Dim i As Integer
Dim miapassword As String
Set cartella = Application.FileSearch
miapassword = "MiaPassw12345678" 'specificare la passw da inserire
With cartella
.LookIn = "c:\luca" 'specificare il percorso dove sono contenuti i file
.FileName = "*.doc" 'la macro considera solo i file DOC
If .Execute(SortBy:=msoSortByFileName, _
SortOrder:=msoSortOrderAscending) > 0 Then
'MsgBox .FoundFiles.Count
For i = 1 To .FoundFiles.Count
'MsgBox .FoundFiles(i)
file_trovato = .FoundFiles(i)
'apertura file
Documents.Open FileName:=file_trovato, ConfirmConversions:=False, ReadOnly:= _
False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _
"", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto
If ActiveDocument.ProtectionType = wdNoProtection Then
'inserisce protezione
ActiveDocument.Protect Password:=miapassword, NoReset:=False, _
Type:= wdAllowOnlyFormFields
'Chiude e salva il file
ActiveDocument.Close SaveChanges:=wdSaveChanges
End If
Next i
Else
MsgBox "Nessun file trovato nella cartella specificata!"
Exit Sub
End If
End With
End Sub
Purtroppo le righe del codice vengono interrotte nell’articolo, ma facendo un copia-incolla è possibile visualizzarle per intero.
Pubblicato da Luca Franchi 
















