Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Doch "Kopierschutz" für Excel-Dateien?!?!?

Forumthread: Doch "Kopierschutz" für Excel-Dateien?!?!?

Doch "Kopierschutz" für Excel-Dateien?!?!?
Oliver
Hallo Forumshelfer!
Bei meiner nun schon länger dauernden Suche nach einem "Kopierschutz" für Excel-Dateien bin ich auf folgendes gestossen:
Direkter Kopierschutz ist allein mit Excel-Mitteln nicht möglich.
ABER:
Unter Umständen bestünde die Möglichkeit, durch VBA-Anweisungen ein sogenanten Kopierschutz nachzuempfinden.
Dh., man könnte vielleicht die Datei mit diversen Anweisungen für unbefugte Nutzer unbrauchbar machen.
Kann mir jemand dazu mehr sagen?
Angemerkt sei noch, dass ich keinesfalls einen "wasserdichten" Schutz benötige.
Vielmehr wäre es bereits ausreichend, die Möglichkeit des Dateikopierens bzw.
die Möglichkeit die Datei per e-mail zu versenden zu erschweren....
Grüße und Tausend Dank für Hilfe,
Oliver
Anzeige
AW: Doch "Kopierschutz" für Excel-Dateien?!?!?
16.04.2004 10:49:28
Peter
Hallo Oliver,
ich hatte nen ähnlichen Fall.....ich habe dann in XlVeryHidden verstecktem Blatt die Anweisung gegeben....z.B.wenn das Systemdatum zurückgestellt wurde (Vergleich mit letztem Speicherdatum),werden die zentralen Inhalte eines bestimmten Sheets gelöscht und damit die Mappe unbrauchbar...
Dies kann man ja auch abändern auf den "ChangeEvent"....Speichern oder Speichern unter..
Vielleicht hilft dir diese Anregung
Gruß
Peter
Anzeige
AW: Doch "Kopierschutz" für Excel-Dateien?!?!?
peterA
Hallo Oliver
"Angemerkt sei noch, dass ich keinesfalls einen "wasserdichten" Schutz benötige.
"Vielmehr wäre es bereits ausreichend, die Möglichkeit des Dateikopierens bzw.
"die Möglichkeit die Datei per e-mail zu versenden zu erschweren....
Das Problem ist das es wirklich nicht wasserdicht ist. Alles was du mittels VBA einschränkst, kann man auch (wenn man sich auskennt) rückgängig machen. Leider gibt es nichts das wie ein Compiler den Programmcode unleserlichmacht.
Wer ist ein "unbefugter" Nutzer? Wie willst du das unterscheiden? In dem du im Programmcode die ID'2 angiebst wer darf und wer darf nicht. Gleiches Problem siehe oben.
Ich such auch nach einer Möglichkeit aber weder das Passwort, noch ein Addin (zu umständlich) haben mir gefallen. Im Access gibt es (weiss ich nur vom hörensagen) ein "Toolkit" das aus den Datenbanken so was ähnliches wie eine Exe macht.
Ciao Peter
Anzeige
1. Danke Peter, Danke Peter! 2. Mehr Tipps?!
Oliver
Da waren ein paar Stichworte dabei, die ich mir am WE mal genauer ansehen werde.
Nochmal zu meinem konkreten Problem:
Der Nutzer wird (wie ich!) kein VBA-Fachmann sein.
Dh., ich denke, es würde schon viel bringen, wenn man mittels Makro simulieren könnte, dass eine Kopie der Datei unbrauchbar wäre...
Gruß,
Oliver
Anzeige
AW: 1. Danke Peter, Danke Peter! 2. Mehr Tipps?!
16.04.2004 11:31:03
Peter
Hallo Oliver,
schau dir mal den Code an, den ich in DieseArbeitsmappe geschrieben habe:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.ScreenUpdating = False
ActiveWorkbook.Unprotect Password:="JA"
Sheets("Tabelle1").Unprotect Password:="JAJA"
A = Sheets("Tabelle1").[C8].Value
If A <> "100" Or A <> "200" Then
Application.Sheets("Tabelle2") = Delete
Application.Sheets("Tabelle3").[E69] = Delete
End If
Sheets("Tabelle1").Protect Contents:=True, Password:="JAJA"
ActiveWorkbook.Protect Password:="JA"
Application.ScreenUpdating = True
End Sub

Also werden jetzt beim Speichern in Abhängigkeit des Wertes Tabelle1.C8 entweder die Daten alle gespeichert oder wenn der Inhalt nicht 100 oder 200 ist die relevanten Daten vor dem Speichern gelöscht.
Dies kannst ja nach deinen Bedürnissen abändern
Gruß
Peter S.
Anzeige
Danke, das schau ich mir mal an!
Oliver
Hi Peter!
Vielen Dank für Deine Mühe!
Ich werde mich mal in Dein Makro reinfriemeln/reindenken.
Gruß,
Oliver
AW: Doch "Kopierschutz" für Excel-Dateien?!?!?
Werner
Hallo alle Excelfreunde
Ich musste vor Jahren einige Progis vor der Konkurrenz schützen. D.h. jeder der kann diese Datei wohl kopieren, versenden etc. aber er durfte sie nicht anwenden können. (auch nur für normele Anwender)
Leider kann ich sie nicht ins Forum stellen, da diese Arbeitsmappen im HTML gestartet werden und somit beim öffnen der Browser schliessen würde. Aber für Interessierte kann ich sie per E-Mail senden. Das erstemal nur zum Testen, wie lange Ihr braucht als Spezialisten bis Ihr zur Anwednung kommt.
Das ganze kann auch noch verbessert werden.
Auf eine Zahlreiche Interessengemeinde freut sich
Werner
Anzeige
AW: Doch "Kopierschutz" für Excel-Dateien?!?!?
Werner
Hallo nocheinmal
Meine Mailadresse ist ja nicht bekannt
woertli(Add)aco.ch
Gruss Werner
Hört sich gut an...
Oliver
Hi Werner!
Das hört sich ziemlich gut an, was Du da schreibst!
Aber als Nicht-Excel-Profi und Makro-Beginner werde ich mich erstmal
mit dem Tipp von Peter auseinandersetzen....
Wenn Du nix dagegen hast, komme ich nach dem WE nochmal auf Dich zurück!
Deine E-Mail-Adresse habe ich ja.
Danke,
Oliver
Anzeige
AW: Hört sich gut an...
16.04.2004 13:20:51
Werner
Grüezi Oliver
Was nicht ist kann noch werden. Sobald Du Dich mit VBA etwas befasst hast wirst Du auch abhängig davon. Es wird eine richtige Sucht. Andere kaufen sich ein Spiel und kommen nicht mehr weg und die VBA ist ja eigentlich auch ein Spiel, aber mit grösserem Erfolg.
Gruss Werner
Anzeige
;
Anzeige

Infobox / Tutorial

Kopierschutz für Excel-Dateien einrichten


Schritt-für-Schritt-Anleitung

  1. VBA-Editor öffnen

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Modul hinzufügen

    • Klicke mit der rechten Maustaste auf VBAProject (DeineDatei.xlsm) und wähle Einfügen > Modul.
  3. VBA-Code eingeben

    • Füge den folgenden Code in das Modul ein:
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
       Application.ScreenUpdating = False
       ActiveWorkbook.Unprotect Password:="JA"
       Sheets("Tabelle1").Unprotect Password:="JAJA"
       A = Sheets("Tabelle1").[C8].Value
       If A <> "100" And A <> "200" Then
           Application.Sheets("Tabelle2").Delete
           Application.Sheets("Tabelle3").[E69].Delete
       End If
       Sheets("Tabelle1").Protect Contents:=True, Password:="JAJA"
       ActiveWorkbook.Protect Password:="JA"
       Application.ScreenUpdating = True
    End Sub
  4. Datei speichern

    • Speichere die Datei als Excel-Arbeitsmappe mit Makros (*.xlsm).
  5. Testen

    • Ändere den Wert in Tabelle1.C8 und speichere die Datei. Überprüfe, ob die vorgesehenen Daten gelöscht werden, wenn der Wert nicht 100 oder 200 ist.

Häufige Fehler und Lösungen

  • Fehler: „Komponenten nicht gefunden“

    • Stelle sicher, dass alle verwendeten Tabellenblätter existieren. Überprüfe die Schreibweise der Blattnamen.
  • Fehler: Makro funktioniert nicht

    • Überprüfe die Makrosicherheitseinstellungen in Excel. Gehe zu Datei > Optionen > Sicherheitscenter und stelle sicher, dass Makros aktiviert sind.

Alternative Methoden

  • Blätter verstecken

    • Du kannst Blätter auch auf xlVeryHidden setzen, sodass sie nicht einmal im Excel-Tabellenblatt-Manager sichtbar sind. Dies kann über den VBA-Editor durchgeführt werden:
    Sheets("DeinBlatt").Visible = xlVeryHidden
  • Passwortschutz

    • Schütze deine Arbeitsmappe mit einem Passwort, um den Zugriff auf die Datei zu erschweren. Dies kann über Datei > Info > Arbeitsmappe schützen > Mit Passwort verschlüsseln gemacht werden.

Praktische Beispiele

  • Beispiel 1: Verhindern von E-Mail-Versand

    • Du kannst den Workbook_BeforeClose-Event verwenden, um zu überprüfen, ob die Datei versendet wird und eine Warnung auszugeben.
  • Beispiel 2: Daten löschen

    • Setze Bedingungen, die bei bestimmten Eingaben in bestimmten Zellen dazu führen, dass Daten gelöscht werden. Dies kann helfen, den Kopierschutz zu erhöhen.

Tipps für Profis

  • Überlege, ob du die Excel-Datei in ein anderes Format exportieren kannst, z.B. PDF, um die Bearbeitungsmöglichkeiten zu minimieren.
  • Nutze die Kombination aus Passwortschutz und VBA-Skripten, um den Schutz zu optimieren.
  • Halte deinen Code so klar wie möglich, um zukünftige Änderungen zu erleichtern.

FAQ: Häufige Fragen

1. Ist der Excel-Kopierschutz wirklich sicher? Der Schutz ist nicht vollständig wasserdicht. Jeder, der sich mit VBA auskennt, kann die Einschränkungen umgehen.

2. Was ist der Unterschied zwischen „xlVeryHidden“ und „Hidden“? „xlVeryHidden“ macht ein Blatt so unsichtbar, dass es nicht einmal über die Eigenschaften im Excel sichtbar ist, während „Hidden“ es nur versteckt.

3. Wie kann ich einen Kopierschutz für Excel-Dateien einrichten? Der einfachste Weg ist, VBA-Anweisungen zu verwenden, um bestimmte Funktionen zu blockieren oder Daten unter bestimmten Bedingungen zu löschen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige