Code für Blattschutz funktioniert nicht

09/10/2009 - 13:26 von Andreas Sperling | Report spam
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
 

Lesen sie die antworten

#1 Jörg Eisenträger
09/10/2009 - 14:49 | Warnen spam
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.

Ähnliche fragen