Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1312to1316
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Marko für alle Dateien aus einer Liste ausführen

Marko für alle Dateien aus einer Liste ausführen
27.05.2013 18:44:57
Lola
Liebes Forum,
ich muss für ca. 300 Dateien, die sich alle in einem Verzeichnis befinden, den Passwortschutz aufheben.
Die Namen der Dateien habe ich in einer Datei in den Zellen A2 bis A301 schon ausgelesen. Das Marko, das den Passwortwortschutz aufhebt, habe ich auch.
Allerdings verzweifele ich gerade an dem Loop, der mir dieses Marko für meine 300 Einträge ausführt.
Kann mir bitte jemand helfen?
Vielen Dank und
sehr viele und sehr liebe Grüße
Lola

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Marko für alle Dateien aus einer Liste ausführen
27.05.2013 19:39:09
Uduuh
Hallo,
was für Dateien? Excel-Mappen?
Das Marko, das den Passwortwortschutz aufhebt, habe ich auch.
Zeig's mal.
Gruß aus’m Pott
Udo

AW: Marko für alle Dateien aus einer Liste ausführen
28.05.2013 10:45:11
Lola
Hallo, Udo,
ja, es sind lauter Excel-Dateien.
Das Marko zum Speichern ohne Passwort sieht so aus:
Sub PW_EX()
Workbooks.Open 'hier brauche ich den Loop, für den ich zu doof bin für alle Dateiennamen  _
aus den Zellen a2 bis a301', Password:="xxx"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs ActiveWorkbook.Name, Password:=""
Application.DisplayAlerts = True
ActiveWorkbook.Close savechanges:=False
End Sub
Liebe Grüße aus dem heute überraschend sonnigen München
Lola

Anzeige
AW: Marko für alle Dateien aus einer Liste ausführen
28.05.2013 14:31:44
Tino
Hallo,
kannst mal diesen Code testen.
In der Statusbar kannst Du den verlauf verfolgen.
Am Schluss wird evtl. eine Fehlerliste ausgegeben,
zBsp. bei Schreibschutz wenn Datei verwendet wird oder die Datei nicht vorhanden ist.
Sub PW_EX()
Dim ArPath
Dim ExApp As Excel.Application
Dim n&, nMax&
Dim ArFehler(), i%

Const OeffnenKennwort$ = "xxx"
Const SchreibKennwort$ = ""

ArPath = Range("A2:B301")
Redim Preserve ArPath(1 To Ubound(ArPath), 1 To 1)

Set ExApp = New Excel.Application
ExApp.DisplayAlerts = False
ExApp.ScreenUpdating = False
ExApp.EnableEvents = False

nMax = Ubound(ArPath)
For n = 1 To nMax
    Application.StatusBar = "Bearbeite Datei " & n & " von " & nMax
    If ArPath(n, 1) <> "" Then
        If Dir(ArPath(n, 1), vbNormal) <> "" Then
            With ExApp.Workbooks.Open(Filename:=ArPath(n, 1), Password:=OeffnenKennwort, writeResPassword:=SchreibKennwort)
                If Not .ReadOnly Then
                  .Password = ""
                  .WritePassword = ""
                  .Close savechanges:=True
                Else
                    Redim Preserve ArFehler(i)
                    ArFehler(i) = .Name & " = 'Schreibgeschützt'"
                    i = i + 1
                    .Close savechanges:=False
                End If
            End With
        Else
            Redim Preserve ArFehler(i)
            ArFehler(i) = Right$(ArPath(n, 1), Len(ArPath(n, 1)) - _
                          InStrRev(ArPath(n, 1), "\")) & " = 'nicht gefunden'"
            i = i + 1
        End If
    End If
Next n
ExApp.Quit
Set ExApp = Nothing
Application.StatusBar = False

If i > 0 Then
    MsgBox Join(ArFehler, vbCr), vbCritical, "Fehler"
End If
End Sub
Gruß Tino

Anzeige
AW: Marko für alle Dateien aus einer Liste ausführen
28.05.2013 15:29:43
Lola
Lieber Tino,
ein Traum :-)
Am Anfang hat das Makro zwar behauptet, es kann die Datei nicht finden, obwohl ich
ChDir ThisWorkbook.Path
mit in den Code geschrieben habe.
Aber dann habe ich kurzerhand den kompletten Pfad zur Datei in die Spalte A kopiert und dann hat es wunderbar geklappt. Tausend Dank!!
Liebe Grüße
Lola

129 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige