Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<

Microsoft Office 2003-2019 => Excel => Thema gestartet von: freakinout am Februar 27, 2015, 18:15:50 Nachmittag

Titel: Protection ändern
Beitrag von: freakinout am Februar 27, 2015, 18:15:50 Nachmittag
Hallo zusammen,
Bei mir stellt sich gerade ein etwas komplexeres Problem ein, dem ich leider nicht auf die Schliche komme.

Prinzipiell habe ich 2 .xlsm-Dateien um die es hier geht.
Die erste eine Liste in der Ordner stehen, in die denen die zweite Datei (planung.xlsm) liegt.
Wenn ich jetzt einen zusätzlichen Eintrag in der Liste anlege wird ein Ornder angelegt und die zweite Datei dahin kopiert.
Anschließend soll in der neu erstellten Datei ein Eintrag vorgenommen werden.
Bis hier klappt alles. Aber ich habe zum Eintragen die Planung per "Workbooks.Open" öffnen lassen.
Dort steht allerdings eine essentielle "BeforeSave" Prozedur, die nun ausgeführt werden muss.
Dabei erhalte ich einen Laufzeitfehler 1004 mit Bezug auf die folgende Zeile:

Workbooks("planung.xlsm").Sheets("Zeit").Protection.AllowEditRanges("aktivitäten1").ChangePassword Password:=pw
Ehemals stand dort anstelle des "Workbooks("planung.xlsm")", "DieseArbeitsmappe". Damit klappte es allerdings auch nicht.
Wenn ich die planung so öffene habe ich keine Probleme mit dem Makro.

Hat jemand ein Idee wie ich wie ich das Problem beheben kann, oder ansonsten das ganze anders umsetzen kann?

Gruß Sascha
Titel: Antw: Protection ändern
Beitrag von: kgs-ks am März 02, 2015, 20:38:03 Nachmittag
Hallo

könnte es sein, dass die Zeile nur funktioniert, wenn der Schutz
bereits aufgehoben ist?

in meinem test war das so:

Public Sub test()
    Dim sht As Worksheet
    Dim rge As Range
Set rge = Range("$B3:$C5")
Set sht = Sheets("Tabelle1")

With sht
    on error resume next
    ' existiert bereits?
    .Protection.AllowEditRanges.Add "testEdit", rge, "pw"
    err.clear
    .Protection.AllowEditRanges("testEdit").ChangePassword Password:="xx"

End With

End Sub



Titel: Antw: Protection ändern
Beitrag von: freakinout am März 04, 2015, 12:48:43 Nachmittag
Hi kgs-ks
Leider klappt das auch nicht, ich habe es allerdings geschafft das ganze zu umgehen indem ich das, was ich eintragen möchte später innerhalb der workbook_open prozedur mache!
War schneller als hier auf eine Antwort zu warten, aber trotdem danke.
Gruß Sascha