Autor
|
Thema: Schreibschutz+Makros (16289 mal gelesen)
|
Ben222 Mitglied Dipl.-Ing. Maschinenbau (FH)
Beiträge: 99 Registriert: 04.10.2005 Windows 2000/ XP OneSpaceDisigner BeckerCAD 4.0 PRO-E
|
erstellt am: 05. Okt. 2009 11:53 <-- editieren / zitieren --> Unities abgeben:
Ich schon wieder Hab da nochmal eine Frage an die Profis : Wenn ich ein Excel-File schützen will, mit Makros, wie geht das?? Also, hab da ein File - das sollen verschiedene Leute aufmachen können, anschauen.... Makros verwenden soll ebenfalls möglich sein... Wenn ich aber den Schreibschutz drauf mach, gehen die Makros nicht mehr!?! Hab mal folgendes probiert: 'ActiveSheet.Unprotect "Passwort" *meine Makros* 'ActiveSheet.Protect "Paswort" Aber ich bekomme es nicht hin? Jetzt stellt sich die Frage... geht das überhaupt
------------------ Ben Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
carsten-3m Mitglied Dipl.-Ing. Mbau (Produktmanagement, Patent- und Normwesen)
Beiträge: 950 Registriert: 08.05.2007 Excel 2010
|
erstellt am: 05. Okt. 2009 12:11 <-- editieren / zitieren --> Unities abgeben: Nur für Ben222
Vor einiger Zeit stand ich vor der selben Aufgabe. Wollte auch nicht klappen. Dieser Weg führte zum Ziel: Den Teil "Passwort" weglassen, sowohl bei .Protect als auch bei .Unprotect. Mappe einmalig manuell schützen mit Passwortvergabe. Danach funktioniert das Makro sowohl beim Schützen als auch beim Freigeben samt Passwortabfrage. ------------------ Seit Pro/E Version 1 dabei, auwei... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 05. Okt. 2009 12:18 <-- editieren / zitieren --> Unities abgeben: Nur für Ben222
Mahlzeit, Du kannst versch. Dinge regeln beim Blattschutz, also was der Benutzer trotz gesetztem Blattschutz darf und was nicht. Du kannst eine komplette Datei schreibschützen, dann kann sie unter diesem Namen nicht mehr gespeichert werden. Wenn Du das Schreiben im Blatt erlauben möchtest, muß Dein Makro den Blattschutz aufheben, etwas tun und den Blattschutz am Ende wieder setzen.
Code: Sub test() ActiveSheet.Unprotect ("123") Cells(1.1).Value = "TEST" ActiveSheet.Protect ("123") End Sub
Dein Ansatz war also prinzipiell nicht so falsch, ich denke aber, Du versuchst alle Makros zwischen Unprotect und Protect zu quetschen. Das geht so nicht. Deine Makros selber müssen den Schutz aufheben. Es gibt auch noch die Variante: Wenn ein Makro was tun will, ist das generell erlaubt. Stichwort dafür: userinterfaceonly:=True Ein Passwort in den VBA-Code reinzuschreiben halte ich pers. für Quark, denn entweder hab ich ein Passwort, oder ich hab keins. Eins, was im Klartext irgendwo in der Datei steht, setze ich mit keins gleich Jetzt kann man noch hergehen und das VBA-Projekt schützen. Aber: Jeder Schutz ist umgänglich Die Frage ist also: was ist Dein Ziel? Ach ja: Suchwort für google: excel vba Makro und Blattschutz ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info | Excel -Suche | RuA-Suche | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ben222 Mitglied Dipl.-Ing. Maschinenbau (FH)
Beiträge: 99 Registriert: 04.10.2005 Windows 2000/ XP OneSpaceDisigner BeckerCAD 4.0 PRO-E
|
erstellt am: 05. Okt. 2009 12:30 <-- editieren / zitieren --> Unities abgeben:
danke erstmal für dir tipps.... mein ziel ist es ein excel auf einem laufwerk abzulegen... dort können verschiedene leute zugreifen... alle sollen das excel öffnen können und die makros benutzen können.. (sind meist filter, etc...) sie dürfen aber keinerlei änderungen vornehmen weder in der tabelle noch bei den makros....
nach dem motto: "gucken aber nicht anfassen" ------------------ Ben Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 05. Okt. 2009 12:33 <-- editieren / zitieren --> Unities abgeben: Nur für Ben222
Code: ActiveSheet.Protect UserInterfaceOnly:=True ' arbeitet auch in einem geschützten Arbeitsblatt dein code
;-) angucken und nicht anfassen, funktioniert nur, wenn der andere keinen höheren Skill hat... ;-)Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ben222 Mitglied Dipl.-Ing. Maschinenbau (FH)
Beiträge: 99 Registriert: 04.10.2005 Windows 2000/ XP OneSpaceDisigner BeckerCAD 4.0 PRO-E
|
erstellt am: 05. Okt. 2009 12:40 <-- editieren / zitieren --> Unities abgeben:
ne, die haben noch weniger skill.... kaum zu glauben aber wahr deswegen auch der schutz... sonst ist na einem tag alles futsch kannst du mir noch sagen wohin genau der code (ActiveSheet.Protect UserInterfaceOnly:=True ) hin muss? vor alle makros, vor jedes einzelne? muss da dann auch noch was hin wie z.b.: ActiveSheet.Unprotect UserInterfaceOnly:=True ------------------ Ben Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ben222 Mitglied Dipl.-Ing. Maschinenbau (FH)
Beiträge: 99 Registriert: 04.10.2005 Windows 2000/ XP OneSpaceDisigner BeckerCAD 4.0 PRO-E
|
erstellt am: 05. Okt. 2009 12:46 <-- editieren / zitieren --> Unities abgeben:
ah - ok .... hab dein ActiveSheet.Protect UserInterfaceOnly:=True mal versucht... und es klappt... ist aber nicht das was ich benötige, da dann ja beim start eines makros nach dem passwort gefragt wird! die sollen aber kein passwort bekommen das makro sollte so starten....und trotzdem dürfen die keine änderung speichern... das file soll also immer im orginalzustand erhalten bleiben.... ------------------ Ben Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 05. Okt. 2009 13:13 <-- editieren / zitieren --> Unities abgeben: Nur für Ben222
Dann mach es so, wie oben angedeutet: Datei mit Schreibschutz versehen: Datei speichern unter > EXTRAS > Allgemeine Optionen > Kennwort zum Ändern vergeben, Haken rein bei Schreibschutz empfehlen. (Warnhinweise beachten, ebenfalls wie oben erwähnt: wirklich sicher ist nichts in der EDV, leg Dir ne Not-Kopie irgendwo hin.) Datei wird damit von jedem, der das PW nicht kennt, im schreibgeschützten Modus geöffnet, jeder kann schalten und walten und reinschreiben, wie immer er lustig ist, aber unter demselben Namen speichern geht nicht. Nur SaveAs. -> Deiner Datei passiert nix und alle sind glücklich.
------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info | Excel -Suche | RuA-Suche | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 05. Okt. 2009 13:15 <-- editieren / zitieren --> Unities abgeben: Nur für Ben222
|
pi-design Mitglied Design Engineer
Beiträge: 948 Registriert: 09.08.2002 Excel 2007 WIN 7 64bit
|
erstellt am: 05. Okt. 2009 13:16 <-- editieren / zitieren --> Unities abgeben: Nur für Ben222
Zitat: Original erstellt von Ben222: ah - ok .... hab deinActiveSheet.Protect UserInterfaceOnly:=True mal versucht... und es klappt... ist aber nicht das was ich benötige, da dann ja beim start eines makros nach dem passwort gefragt wird! die sollen aber kein passwort bekommen das makro sollte so starten....und trotzdem dürfen die keine änderung speichern... das file soll also immer im orginalzustand erhalten bleiben....
Warum nicht einfach einen (Windows-)Schreibschutz auf Dein File legen? ------------------ Gruß Pille Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ben222 Mitglied Dipl.-Ing. Maschinenbau (FH)
Beiträge: 99 Registriert: 04.10.2005 Windows 2000/ XP OneSpaceDisigner BeckerCAD 4.0 PRO-E
|
erstellt am: 06. Okt. 2009 07:08 <-- editieren / zitieren --> Unities abgeben:
@ runkelrübe: das mit den extras -> schreibschutz klappt supi!! makros gehen einwandfrei!! leider gehen jetzt die hyperlinks nicht mehr @ thomas: ich probier mal deine varriante.... @ pi-design: würd ich ja gerne... geht aber nicht... oder erklär mir bitte wie... je einfacher desto besser - ganz klar! ------------------ Ben Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ben222 Mitglied Dipl.-Ing. Maschinenbau (FH)
Beiträge: 99 Registriert: 04.10.2005 Windows 2000/ XP OneSpaceDisigner BeckerCAD 4.0 PRO-E
|
erstellt am: 06. Okt. 2009 07:30 <-- editieren / zitieren --> Unities abgeben:
ok - hyperlinks gehen... die waren irgendwie zerschossen ;-) also dann müsste es so passen!! werde es wohl so wie runkelrübe geschrieben hat machen... will das file ja nicht vor mutwilligen schützen sonder vor unwissenden :-) -DANKE AN ALLE- wenn´s ned klappt meld ich mich nochmal ------------------ Ben Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 06. Okt. 2009 07:33 <-- editieren / zitieren --> Unities abgeben: Nur für Ben222
Zitat: pi-design: würd ich ja gerne... geht aber nicht... oder erklär mir bitte wie... je einfacher desto besser - ganz klar!
Im Explorer oder auf dem Desktop oder sonstwo markierst Du Deine Datei mit der rechten Maustaste. Im Kontextmenü: Eigenschaften (ganz unten). Oder Du markierst sie und drückst Alt+Enter, das geht schneller. Im Register Allgemein, im unteren Drittel, unter Attribute setzt Du bei Schreibgeschützt ein Häkchen und testest, ob Dir das taugt. ------------------ DIN1055.de | Lastannahmen für Anwender NEU: Foren zu DIN 1055 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pi-design Mitglied Design Engineer
Beiträge: 948 Registriert: 09.08.2002 Excel 2007 WIN 7 64bit
|
erstellt am: 06. Okt. 2009 07:43 <-- editieren / zitieren --> Unities abgeben: Nur für Ben222
Zitat: Original erstellt von Paulchen: [QUOTE]pi-design: würd ich ja gerne... geht aber nicht... oder erklär mir bitte wie... je einfacher desto besser - ganz klar!
Im Explorer oder auf dem Desktop oder sonstwo markierst Du Deine Datei mit der rechten Maustaste. Im Kontextmenü: Eigenschaften (ganz unten). Oder Du markierst sie und drückst Alt+Enter, das geht schneller. Im Register Allgemein, im unteren Drittel, unter Attribute setzt Du bei Schreibgeschützt ein Häkchen und [b]testest, ob Dir das taugt. [/B][/QUOTE]
------------------ Gruß Pille Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ben222 Mitglied Dipl.-Ing. Maschinenbau (FH)
Beiträge: 99 Registriert: 04.10.2005 Windows 2000/ XP OneSpaceDisigner BeckerCAD 4.0 PRO-E
|
erstellt am: 06. Okt. 2009 08:09 <-- editieren / zitieren --> Unities abgeben:
@ pi-design und paulchen: so habe ich es ganz am anfang probiert... da gehen dann aber meine makros nicht mehr! und des ist dann doch zu einfach zum umgehen des mit dem speichern unter - extras.... klappt gut und ist soweit für mich ausreichend....
_DANKE NOCHMAL_
gr0ßes kompliment an das ganze forum: excel!!!!!!!! toller und schneller support!!!! echt klasse ------------------ Ben Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
pi-design Mitglied Design Engineer
Beiträge: 948 Registriert: 09.08.2002 Excel 2007 WIN 7 64bit
|
erstellt am: 06. Okt. 2009 08:25 <-- editieren / zitieren --> Unities abgeben: Nur für Ben222
Hallo Ben, eine weitere Möglichkeit wäre eventuell, daß die Datei auf dem Server grundsätzlich vom Admin geschützt (gesperrt) wird und nur als Doku-Vorlage geöffnet werden kann. ------------------ Gruß Pille Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 06. Okt. 2009 08:57 <-- editieren / zitieren --> Unities abgeben: Nur für Ben222
|