Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Passwort per Makro ändern

Passwort per Makro ändern
11.01.2016 18:15:11
Vicky
Hallo zusammen,
ich habe gleich noch ein Thema. Und zwar habe ich eine große Anzahl von Dateien (ca. 100), bei denen ich das Passwort, welches zum Öffnen der Datei notwendig ist, gerne ändern würde. (Passwort ist bei allen Dateien gleich und das soll auch so bleiben, nur soll es ein anderes/sichereres Passwort sein als das, was aktuell verwendet wird.
Dazu habe ich mir ein Makro "recherchiert/zusammengeschustert", welches zwar keine _ Fehlermeldung bringt, aber auch nicht funktioniert und ich verstehe nicht, woran das liegt.

Sub Passwort_ändern()
Application.ScreenUpdating = False
Dim sWbName As String, oFS As Object, oDatei As Object, sBereich As String
Const sDateiPfad As String = "S:\..." 'Pfad für zu durchsuchende Excel-Dateien; mit Backslash    _
_
_
am Ende
Set oFS = CreateObject("Scripting.FileSystemObject")
For Each oDatei In oFS.GetFolder(sDateiPfad).Files
sWbName = oDatei.Name
Next
Workbooks.Open (sDateiPfad & sWbName), Password:="pw_alt"
Workbooks(sWbName).Unprotect (pw_alt)
Workbooks(sWbName).Protect (pw_neu)
Workbooks(sWbName).Saved = True
Workbooks(sWbName).Close
Application.ScreenUpdating = False
End Sub

Die Datei wird geöffnet und wieder geschlossen, das Passwort ist bei mir aber danach immer noch das gleiche, also pw_alt, wenn ich die Datei öffnen möchte. Habt ihr hier Tipps für mich?
Danke für eure Mithilfe.
Viele Grüße
Vicky

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Passwort per Makro ändern
11.01.2016 18:22:59
Hajo_Zi
Hallo Vicky,
ist die Codereihenfolge nicht falsch?
Workbooks.Open (sDateiPfad & sWbName), Password:="pw_alt"
For Each oDatei In oFS.GetFolder(sDateiPfad).Files
sWbName = oDatei.Name
Workbooks(sWbName).Unprotect (pw_alt)
Workbooks(sWbName).Protect (pw_neu)
Workbooks(sWbName).Saved = True
Next
Workbooks(sWbName).Close
und es wird nicht das Passwort der Datei geändert. Das wäre speichern unter.

Anzeige
AW: Passwort per Makro ändern
11.01.2016 19:57:19
Sepp
Hallo Vicky,
probier mal so.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub Passwort_ändern()
Dim objWB As Workbook
Dim strFile As String, strPath As String
Dim CalculationMode As Long, UpdateLinks As Long

Const strOldPW As String = "altesPasswort"

Const strNewPW As String = "neuePasswort"

strPath = "S:\..."

If Right(strPath, 1) <> "\" Then strPath = strPath & "\"

On Error GoTo ErrorHandler

With Application
  .ScreenUpdating = False
  .EnableEvents = False
  CalculationMode = .Calculation
  .Calculation = xlManual
  UpdateLinks = .AskToUpdateLinks
  .AskToUpdateLinks = False
  .DisplayAlerts = False
End With

strFile = Dir(strPath & "*.xls*", vbNormal)

Do While strFile <> ""
  Set objWB = Workbooks.Open(Filename:=strPath & strFile, UpdateLinks:=False, Password:=strOldPW)
  objWB.SaveAs Filename:=objWB.FullName, Password:=strNewPW
  objWB.Close
  Set objWB = Nothing
  strFile = Dir
Loop

ErrorHandler:

With Err
  If .Number <> 0 Then
    MsgBox "Fehler in Prozedur:" & vbTab & "'Passwort_ändern'" & vbLf & String(25, "—") & _
      vbLf & vbLf & IIf(Erl, "Fehler in Zeile:" & vbTab & Erl & vbLf & vbLf, "") & _
      "Fehlernummer:" & vbTab & .Number & vbLf & vbLf & "Beschreibung:" & vbTab & _
      .Description & vbLf, 81968, "VBA - Fehler in Prozedur - Passwort_ändern", .HelpFile, .HelpContext
    .Clear
  End If
End With

On Error GoTo 0

With Application
  .ScreenUpdating = True
  .EnableEvents = True
  .Calculation = CalculationMode
  .DisplayAlerts = True
  .AskToUpdateLinks = UpdateLinks
  .CutCopyMode = False
  .StatusBar = False
End With

Set objWB = Nothing
End Sub

Gruß Sepp

Anzeige
AW: Passwort per Makro ändern
12.01.2016 08:26:41
Vicky
Vielen Dank für eure Hilfe, damit funktioniert es wunderbar.
Danke Sepp!!
Grüße
Vicky
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige