Hallo zusammen
in einem Ordner auf dem Server möchte ich alle Files herausfinden die nicht schreibgeschützt sind und diese dann schreibschützen.
Mein Makro ruft nun alle Files auf und speichert diese mit einem Schreibschutz. Ist nun aber ein File bereits geschützt möchte ich dieses nicht öffnen, da sonst die Msbox erscheint mit der Pwd-Abfrage.
Ist es möglich nur die ungeschützten Files aufzurufen?
oder:
ist es möglich das Passwortabfragefenster nicht erscheinen zu lassen und das pwd direkt einzugeben per Makro?
Schönen Dank für die Lösung.
Urs
Sub Archiv_Schreibschutz()
With Application.FileSearch
.NewSearch
.LookIn = „C:\test“
.SearchSubFolders = False
.MatchTextExactly = True
.FileType = msoFileTypeExcelWorkbooks
If .Execute() > 0 Then
For i = 1 To .FoundFiles.Count
Application.DisplayAlerts = False
Workbooks.Open Filename:=.FoundFiles(i), Updatelinks:=False
Dateiname = .FoundFiles(i)
If ActiveWorkbook.HasPassword = False Then
MsgBox „hat passwort“
End If
ActiveWorkbook.SaveAs Dateiname, writerespassword:=„passwort“
ActiveWorkbook.Close
Next i
Else
MsgBox „There were no files found.“
End If
End With
End Sub
Hi urs,
ist es möglich das Passwortabfragefenster nicht erscheinen zu
lassen und das pwd direkt einzugeben per Makro?
Ja,
Ausdruck.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMRU)
da kannst du ja ein Passwort angeben beim Öffnen. Nicht getestet, aber evtl Fehlermeldungen beim Öffnen wenn du mit passwort öffnest und Datei hat keins, kannst du ja mit On Error resume next übergehen.
Gruß
Reinhard
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hi urs,
ist es möglich das Passwortabfragefenster nicht erscheinen zu
lassen und das pwd direkt einzugeben per Makro?
Ja,
Ausdruck.Open(FileName, UpdateLinks, ReadOnly, Format,
Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin,
Delimiter, Editable, Notify, Converter, AddToMRU)
da kannst du ja ein Passwort angeben beim Öffnen. Nicht
getestet, aber evtl Fehlermeldungen beim Öffnen wenn du mit
passwort öffnest und Datei hat keins, kannst du ja mit On
Error resume next übergehen.
Gruß
Reinhard
Hallo Reinhard
du hast mich auf die Lösung gebracht. Man versucht die Datei mit einem falschen Passwort zu öffnen. Diese wird dann nicht geöffnet. Eine Datei ohne Passwort wird trotzdem geöffnet und ich kann dann diese unter dem neuen Passwort abspeichern.
Gruss Urs
Lösung für den Mittelteil:
For i = 1 To .FoundFiles.Count
Application.DisplayAlerts = False
On Error Resume Next
Dateiname = .FoundFiles(i)
Workbooks.Open Filename:=Dateiname, Updatelinks:=False, writerespassword:=„falsches Pwd“
Dateinameaktuell = ActiveWorkbook.Name
If Left(Dateinameaktuell, 2) = „Ko“ Or Left(Dateinameaktuell, 2) = „te“ Then
ActiveWorkbook.SaveAs Dateiname, writerespassword:=„archiv“ 'hier passwort usw
ActiveWorkbook.Close
End If
Next i