Clever-Excel-Forum

Normale Version: Speichern verbieten
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Guten tag zusammen,

ich habe folgendes Szenario und komme da nicht ganz weiter. Ich habe eine Excel Datei in der ich gerne Arbeiten würde, allerdings für alle anderen die Option sperren die Tabelle zu speichern. Lediglich speichern unter soll möglich sein. Wenn ich dsa ganze allerdings als .xltm mache, dann muss ich ja auch bei jeder Änderung von mir eine neue Datei speichern. Ich möchte sozusagen eine .xltm Datei, in welcher ich (vllt via Tastenkombination und dann VBA) einfach speichern kann. Allerdings nur ich! 


Hat jemand eine Idee? Gerne auch etwas ohne eine .xltm Datei. 

kann ich das Speichern Symbol für die Datei vllt ausblenden? irgendwie sowas
Hallo

Muss in DieseArbeitsmappe

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If Environ("Username") <> "DeinAnmeldeName" Then
        Cancel = True
        MsgBox "Speichern verboten"
    End If
End Sub

Deinen Anmeldenamen kannst du so ermitteln

Code:
Sub DeinName()
    MsgBox Environ("Username")
End Sub

LG UweD
Das halte ich für keine gute Vorgehensweise. Wenn ein User Makros deaktiviert, ist es Essig mit deinem Speicherschutz. Wieso verwendest du nicht einfach die eingebaute Funktion von Excel (aka Schreibschutz)?
Wahnsinn sowas habe ich gesucht, perfekt :)

Habe es etwas umgeschrieben damit ich genau das habe was ich suche.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If MsgBox("Sicher das du speichern willst?", vbYesNo, "ACHTUNG!") = vbYes Then
ActiveWorkbook.save
Else
Cancel = True
End If
End Sub

Weil ich dann selbst auch nicht mehr so einfach speichern kann @Berni
Hallo zusammen,

warum klappt das nicht mehr?

Microsoft Excel Objekt DieseArbeitsmappe
Option Explicit 
 
Private Sub Workbook_BeforeClose(Cancel As Boolean) 
  MsgBox "Ihr Benutzername wird gespeichert!", vbOKOnly, "HINWEIS" 
  With Worksheets("Tabelle1")            'Tabellennamen anpassen 
      .Range("A1") = Environ("Username"'Anmeldename Windows 
      .Range("B1") = Application.UserName  'Benutzername Office 
      .Range("C1") = Date                  'Speicherdatum 
  End With 
  ActiveWorkbook.Save 
End Sub 
 

Gruß
Marcus
Hallo,
nach einem Neustart des Laptops klappt es wieder.
Sorry
Gruß
Marcus
@MisterBurns

In Excel ist nichts sicher

Wenn ich so vorgehe wie du es beschreibst, mache ich folgendes..

- speichere ich die geänderte Datei unter einem anderen Namen
- lösche die Originaldatei
- und benenne MEINE um mit dem Originalnamen

uppps. Die Datei ist beim nächsten Öffnen geändert

LG UweD
Zitat:Weil ich dann selbst auch nicht mehr so einfach speichern kann @Berni
Natürlich kannst du, was soll dich davon abhalten? Wie kommst du darauf?


@UweD: Das ist doch Quatsch. Das was du unterstellst, ist absichtliche Manipulation bzw. aktives Umgehen des Schutzes. Dass in Excel nichts sicher ist, ist ein alter Hut. Aber in meinen Augen geht es um versehentliche Änderungen durch diverse Mitarbeiter. Wenn einer was kaputtmachen will, schafft er das so oder so. Dann kann er die Datei auch einfach löschen. Als Schutz vor versehentlichen Änderungen ist der eingebaute Schreibschutz wesentlich sinnvoller. Wie bereits geschrieben, reicht ein einfaches "Makros deaktivieren" und der Mitarbeiter speichert einfach drüber. Uppps.
(04.02.2020, 17:22)MisterBurns schrieb: [ -> ]Natürlich kannst du, was soll dich davon abhalten? Wie kommst du darauf?
Wenn die Excel Datei doch schreibgeschützt ist dann muss ich diese doch selbst auch selbst immer neu speichern und kann nicht einfach speichern drücken oder irre ich?
Speichere deine Datei als 'read only'.
Seiten: 1 2