Discussion:
Code für Blattschutz funktioniert nicht
(zu alt für eine Antwort)
Andreas Sperling
2009-10-09 11:26:18 UTC
Permalink
Hallo NG,
ich öffne aus Access eine Exceldatei und fülle Sie mit Informationen.
Das funktioniert auch sehr gut, anschließend möchte ich die Datei mit einem
Blattschutz versehen.
Ich bekomme keine Fehlermeldung aber das Blatt ist auch nicht geschützt.
Hat jemand eine Idee was ich falsch mache?



Public Function NachExcel(Monteur As String)

Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.Open FileName:=Ablagepfad & Dateiname
objExcel.Visible = False 'falls gewünscht
objExcel.Worksheets(ArbeitsBlatt).Activate
With objExcel

.Cells(1, 6) = Forms.frmmonteurplanung.ANR

End With

objExcel.Workbooks(Dateiname).Protect ("Test")
objExcel.Workbooks(Dateiname).Save
objExcel.Application.Quit
Set objExcel = Nothing

End Function
Jörg Eisenträger
2009-10-09 12:49:00 UTC
Permalink
Hallo Andreas,
Anschließend möchte ich die Datei mit einem
Blattschutz versehen.
Ich bekomme keine Fehlermeldung aber das Blatt ist auch nicht geschützt.
In Excel kannst Du die Arbeitsmappe (Datei) schützen und/oder innerhalb
der Arbeitsmappe jedes Blatt einzeln schützen.
Der "Blattschutz" ist letzteres.

"Die Datei mit einem Blattschutz versehen" geht also nicht, es sei denn
Du meinst damit, jedes Blatt in der Datei mit einem Blattschutz zu
versehen.

Arbeitsmappe schützen:
ActiveWorkbook.Protect
(Verwende ich nie, weil die User damit häufig nicht richtig umgehen
können. Macht nur Ärger.)

Blatt schützen:
ActiveSheet.Protect
(Verwende ich meist so:
ActiveSheet.Protect [ggf. Passwort]
ActiveSheet.EnableSelection = xlUnlockedCells
)
objExcel.Workbooks(Dateiname).Protect ("Test")
versieht die Arbeitsmappe Dateiname mit einem Schutz.

objExcel.Worksheets(ArbeitsBlatt).Protect
schaltet den Blattschutz für das Blatt ArbeitsBlatt ein.


Gruß
Jörg
--
LPs auf CD brennen - so geht's: http://www.joergei.de/
E-Mail-Adresse existiert, wird aber nicht gelesen.
Andreas Sperling
2009-10-10 15:48:30 UTC
Permalink
Vielen dank Jörg,
ActiveSheet.Protect [ggf. Passwort]
das war genau das was ich brauchte.

Gruß
Andreas
Post by Jörg Eisenträger
Hallo Andreas,
Anschließend möchte ich die Datei mit einem
Blattschutz versehen.
Ich bekomme keine Fehlermeldung aber das Blatt ist auch nicht geschützt.
In Excel kannst Du die Arbeitsmappe (Datei) schützen und/oder innerhalb
der Arbeitsmappe jedes Blatt einzeln schützen.
Der "Blattschutz" ist letzteres.
"Die Datei mit einem Blattschutz versehen" geht also nicht, es sei denn
Du meinst damit, jedes Blatt in der Datei mit einem Blattschutz zu
versehen.
ActiveWorkbook.Protect
(Verwende ich nie, weil die User damit häufig nicht richtig umgehen
können. Macht nur Ärger.)
ActiveSheet.Protect
ActiveSheet.Protect [ggf. Passwort]
ActiveSheet.EnableSelection = xlUnlockedCells
)
objExcel.Workbooks(Dateiname).Protect ("Test")
versieht die Arbeitsmappe Dateiname mit einem Schutz.
objExcel.Worksheets(ArbeitsBlatt).Protect
schaltet den Blattschutz für das Blatt ArbeitsBlatt ein.
Gruß
Jörg
--
LPs auf CD brennen - so geht's: http://www.joergei.de/
E-Mail-Adresse existiert, wird aber nicht gelesen.
Loading...