Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Jährlicher Dateischutz

Forumthread: Jährlicher Dateischutz

Jährlicher Dateischutz
27.03.2018 06:45:25
Patrick
Hallo Fachleute.
Komische Betreffzeile, aber ich hatte keine bessere Kurzbeschreibung parat.
Meine Frage: ich habe mir eine Exceltabelle mit diversen Makros zusammengeschrieben, tlw. auch über dieses sehr gute Forum zusammengestellt und miteinander verknüpft. Soll heißen, recht viel Arbeit reingesteckt.
Jetzt möchte ich diese Datei gerne schützen...sehr gut schützen. Ich gebe diese Datei auch an Arbeitskollegen weiter, die aber auch schon mal zur Konkurrenz wechseln.
Wie kann ich in meine Datei eine VBA–Abfrage einbauen, die es erforderlich macht, dass ich für jedes Jahr eine neue „Freischaltzeichenkette“ an die noch aktuellen Kollegen verteile, für die dann die Datei weiter nutzbar ist. Für die anderen lässt sich die Datei nicht mehr öffnen.
Geht das?
Danke für eure Tipps.
Gruß, Patrick
Anzeige

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Jährlicher Dateischutz
27.03.2018 07:13:28
RPP63
Moin!
Bei Deiner eigenen Einschätzung "VBA bescheiden":
Vergiss es!
Du kannst z.B. erreichen, dass der DAU die Datei nur auf einem bestimmten Laufwerk öffnet, wenn Du folgende UDF nutzt und das Projekt gleichzeitig schützt:
Function Seriennummer_auslesen(LW As String)
  Dim FSO As Object, myDrive As Object
  Set FSO = CreateObject("Scripting.FilesystemObject")
  Set myDrive = FSO.GetDrive(LW)
  Seriennummer_auslesen = myDrive.SerialNumber
  Set myDrive = Nothing
  Set FSO = Nothing
End Function
Gruß Ralf
Anzeige
AW: Jährlicher Dateischutz
27.03.2018 07:34:13
Patrick
Danke für die offenen Worte Ralf!
Mit "bescheiden" meinte ich nicht "beschränkt".
Aber ich wollte schon auch, wie ich beschrieben habe, eine Abfrage einbauen, die es jährlich zu erneuern gilt. Deine Abfrage nach der Seriennummer ist mir trotz bescheidener VBA-Kenntnisse auch schon gekommen. Geht aber leider am Thema vorbei.
Hat vielleicht noch irgendwer einen Tipp zum "jährlichen" Dateischutz? Danke!
Gruß,
Patrick
Anzeige
AW: Jährlicher Dateischutz
27.03.2018 07:41:09
Oberschlumpf
Hi Patrick,
a) es ist so gut wie unmöglich, eine Excel-Datei wirklich vor Fremdzugriff zu schützen. Man kann es erschweren, ja, aber es ist nicht unmöglich.
b) Wieso geht der Vorschlag von Ralf mit dem Auslesen der Seriennummer am Thema vorbei?
- Wenn dein Kollege die Datei erhält, liest du direkt beim ersten Start die Seriennummer der Festplatte aus UND speicherst diese in einem versteckten Tabellenblatt
- sobald der 27.03.2019 erreicht ist, liest du wieder die Seriennummer aus UND vergleichst diese mit dem Wert, den du heute gespeichert hast.
Grundsätzlich könnte das so funktionieren....es sei denn, dein Kollege ist ein Excel-Freak, der sich auskennt.
Ciao
Thorsten
Anzeige
Du musst Dich nicht auf den Schlips getreten fühle
27.03.2018 07:41:44
RPP63
(und hier das aus Platzgründen fehlende "n")
…, Patrick!
Es ging keinesfalls "am Thema vorbei"!
Excels Bordmittel sind nicht sicher und können mittels kurzer INet-Recherche ausgehebelt werden.
Schütze Dein Projekt mit einem Passwort und frage bspw. so im _Open ab:
If Year(Date) > 2018 Then ThisWorkbook.Close False

Für die "Verfeinerung" des Codes in Form von unsicheren Abfragen bist dann wieder Du zuständig. ;)
Gruß Ralf
Anzeige
Noch ein Hinweis
27.03.2018 07:59:56
RPP63
In einem Nachbarforum habe ich eine Methode vorgestellt, wie man sehr wirksam Daten verstecken kann.
Selbst ein fortgeschrittener VBA-Anwender wird dort keine Daten vermuten.
http://www.clever-excel-forum.de/thread-3351.html
Anzeige
fortgeschrittene VBA-Anwender? Pipifax...
27.03.2018 09:18:38
EtoPHG
Hallo Ralf,
Selbst ein fortgeschrittener VBA-Anwender wird dort keine Daten vermuten.
Wieso VBA-Anwender? Diese von dir so "sicheren" bezeichneten Eigenschaften kann ich allein mit dem Windows Explorer auslesen! Dazu brauch ich nicht einmal Excel!
Gruess Hansueli
Rückfrage an EtoPHG
27.03.2018 10:09:44
lupo1
Meinst Du damit Eigenschaften/Inhalte, nach denen Du namentlich suchst (hat "Müller" die Datei erstellt?), oder die Eigenschaften/Inhalte, die RPP63 der Datei mitgegeben hat ("Wer" hat die Datei erstellt?)?
Falls beides möglich sein soll, müsste man den absoluten oder relativen Ort der Speicherung in der Datei kennen. Oder die Methode, wie und wo gespeichert wird.
Anzeige
Nix Pipifax, EtoPHG
27.03.2018 16:40:36
RPP63
Moin!
Wo, bitteschön, kann man im Explorer die CustomProperties eines Sheets sehen?
Ändern wir es mal so:
Sub AddCustProp()
Tabelle1.CustomProperties.Add "Rhabarber", "Kamelle"
End Sub
Wenn Du jetzt mit herkömmlichen Mitteln Rhabarber oder Kamelle findest, bist Du gut!
Wäre nett, wenn Du antwortest, damit ich hier nicht als Dussel stehe!
Gruß Ralf
Anzeige
Entschuldigung für die falsche Info
28.03.2018 08:09:26
EtoPHG
meinerseits, Ralf
Natürlich kann man mit dem Standard-Explorer diese Information nicht direkt auslesen.
Das kommt davon, wenn man Add-Ons des Explorers täglich benutzt, aber vergessen hat, dass diese nicht Standard sind...
Gruess Hansueli
Danke für die Antwort, Hansueli! owT
28.03.2018 08:16:51
RPP63
Welche Add-Ons sind das denn?
28.03.2018 09:46:25
lupo1
... das wäre ja interessant zu wissen ;)
Anzeige
Selbstgestricktes...C++ + VB.NET (owT)
28.03.2018 11:43:47
EtoPHG

AW: Du musst Dich nicht auf den Schlips getreten fühle
27.03.2018 08:00:08
Patrick
Sorry, war kein "auf-den-Schlips-getreten", ich dachte einfach eine reale persönliche Einschätzung der VBA-Kenntnisse wären hilfreicher... sei's drum.
Mir ist klar, dass jede Absicherung in der Exeldatei auch wieder umgangen werden kann, wenn nur genug Energie dafür aufgebraucht wird. Ich wollte es aber halt nicht einfach per drag&drop und Makro kopieren komplett freigegeben.
Ich wollte halt gerne die Basis-Excel-Datei beibehalten und durch die Ergänzung einer zweiten ascII-Datei die quasi-Freischaltung gewährleisten. Hintergrund: wenn ich in 2018 die Basisdatei nehme und bearbeite/speichere und dann die Datei in 2019 öffne ist das mit der Abfrage der Seriennummer nicht mehr möglich. Mein Gedanke der Abfrage einer ergänzenden Datei soll bewirken, dass ich zu Jahresbeginn neue ascII-Dateien verteile, die dann die Freigabe der Basisdatei wieder bewirken sollen.
Sprich: in Worten: wenn(Datei xy2018.asc vorhanden, dann öffne Basisdatei, ansonsten msgbox)
Und die "xy2018.asc" kann ich dann für jedes Jhar erneuern. Der Dateiinhalt dieser Datei ist völlig egal. Eine Abfrage ob der Dateiname vorhanden ist würde reichen.
Gruß,
Patrick
Anzeige
AW: Du musst Dich nicht auf den Schlips getreten fühle
27.03.2018 08:06:33
Oberschlumpf
Hi Patrick,
"...und dann die Datei in 2019 öffne ist das mit der Abfrage der Seriennummer nicht mehr möglich...."
Und wieso ist das nicht möglich?
Erhaltet ihr alle 1x im Jahr n neuen Computer mit halt auch neuer Festplatte?
DAS könnte ein Problem werden.
Wenn tatsächlich mal der Computer ausgetauscht wird (passiert bei uns für Notebooks alle 4 Jahre)
(ich hab eher so das Gefühl, dass du unbedingt an der ASC-Datei festhalten willst, weil du die Idee so toll findest)
Aber macht nix. Anstelle der Seriennummer lies den Windows-Benutzernamen aus.
Wenn Kollege zur Konkurenz wechselt, wird er bestimmt nicht den selben Benutzernamen erhalten.
Ciao
Thorsten
Anzeige
AW: Du musst Dich nicht auf den Schlips getreten fühle
27.03.2018 08:24:50
Patrick
Ja...ich fand die Idee mit der separaten ascII-Datei gut und dachte, dass sie "einfacher" zu realisieren wäre. Aber anscheinend ist das nicht so.
Die Sache mit dem Windows-Benutzernamen mag für große Firmen mit einem Firmen-Admin hinkommen. Wenn allerdings die Kollegen "einfach nur" einen Laptop erhalten, den sie dann selbst einrichten sollen...wieso sollte da nicht derselbe Benutzername wieder auftauchen. Da scheint mir die Abfrage der Seriennummer die bessere Variante zu sein.
ABER: was passiert wenn ich die Seriennummer (also den Laptop) ändere/austausche? Dann ist die Basisdatei nicht mehr zu öffnen, oder? Ich müsste dann quasi bei jedem individuellen Laptop-Tausch eine neue Basisdatei erstellen? (Alle 4 Jahre bei 20 Laptops = im Schnitt alle 2,5 Monate)
Ist dann nicht "meine" Idee mit der separaten ascII-Datei doch einfacher in der Praxis zu händeln?
Gruß,
Patrick
Anzeige
AW: Du musst Dich nicht auf den Schlips getreten fühle
27.03.2018 08:47:15
Oberschlumpf
Hi Patrick,
du musst nicht bei jedem Beitrag "Hallo" schreiben, aber netter wäre es schon...
Der Hinweis auf SN der HDD oder Auslesen des Benutzernamens waren auch erst mal nur Ideen.
Und ja, alles ist mit Unsicherheiten behaftet.
Aber auch mit deiner Idee (ASCI-Datei) sehe ich noch Probleme.
Angenommen, mein PC erhält von dir ab 01012019 eine ASCI-Datei mit neuem Dateinamen.
Wie genau soll dann mein PC diese neue ASCI-Datei erkennen?
(ok, ok, ich glaub, genau DAS willste von uns ja wissen ;-) )
Dazu würde mir nur das hier einfallen:
Private Sub Workbook_Open()
'es muss eine Datei im gleichen Verzeichnis existieren, deren Dateiname mit "xy" beginnt
'und mit aktueller Jahreszahl.asc aufhört
If Dir(ThisWorkbook.Path & "\xy" & Year(Date) & ".asc") = "" Then
MsgBox "Der Freischaltcode ist nicht vorhanden." & vbCrLf & "Die Datei wird geschlossen. _
ThisWorkbook.Close False
End If
End Sub

Und auch hier sehe ich wieder ein Problem.
Die Abfrage funktioniert ja nur bei aktivierten Makros.
Du musst deine Datei so programmieren, dass sie bei nicht aktivierten Makros nur ein Tabellenblatt zeigt, in dem der Hinweis steht, dass die Makros aktiviert sein müssen.
Eine Lösung dazu findest du aber problemlos im Inet, da diese Frage (nur aktivierte Makros) schon oft gestellt wurde.
Hilft denn mein Code-Bsp?
Ciao
Thorsten
Anzeige
AW: Du musst Dich nicht auf den Schlips getreten fühle
31.03.2018 13:38:46
Patrick
Hallo aktive Helfer!
herzlichen Dank für eure Tipps. Ich werde mal die Makros anpassen und ausprobieren. Das "Problem" mit den aktivierten Makros sehe ich nicht ganz so groß, da ohne diese Aktivierung auch die anderen Makros nicht laufen werden (die, die ich schützen will).
Herzlichen Dank (auch für die Hinweise zu den Forums-Regeln ;-)
Frohe Ostertage.
Gruß, Patrick
Anzeige
AW: Jährlicher Dateischutz
27.03.2018 07:59:22
Sulprobil
Hallo Patrick,
Wenn etwas derart schützenswert ist, programmiere es in C++ oder C#.
Dein Vorgesetzter könnte auch etwas dagegen haben, wenn Du nach einem Jahr nicht zugegen wärest.
Viele Grüße,
Bernd P
AW: Jährlicher Dateischutz
27.03.2018 07:59:23
Sulprobil
Hallo Patrick,
Wenn etwas derart schützenswert ist, programmiere es in C++ oder C#.
Dein Vorgesetzter könnte auch etwas dagegen haben, wenn Du nach einem Jahr nicht zugegen wärest.
Viele Grüße,
Bernd P
Anzeige
;

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