Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1548to1552
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excelkopierschutz

Excelkopierschutz
30.03.2017 08:14:55
Tyroler

Hallo zusammen,
ich würde gerne mein erstelltes Marko meinen Kollegen auf dem Netzlaufwerk zur Verfügung stellen.
Möchte aber verhindern, dass die Datei kopiert und so unerwünscht überall verteilt wird.
Könnt ihr mir bei einem Makro helfen, dass zuerst abfragen soll, ob die Datei an dem richtigen Ort abgespeichert ist - wenn ja, dass das Makro ausgefuhrt wurde.
Wenn die Datei nicht mehr dort - wo erlaubt - abgespeichert ist (sprich iwo an einem anderen Ort kopiert wurde) dann soll das Makro abgebrochen werden.
Wäre super Dankbar für eure Hilfe!!
Dankeschön
Grüße
Johannes

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ThisWorkbook.FullName owT
30.03.2017 08:24:38
RPP63
Gruß Ralf
Siehe Ralf, aber reicht das? Das unbefugte ...
30.03.2017 12:00:25
Luc:-?
…Verteilen kannst du so nicht verhindern, Johannes,
und Kundige könnten auch dein Makro in fremder Umgebung zum Laufen bringen. Ansonsten hängt eine einiger­maßen wirksame Vorgehens­weise ganz davon ab, was du eigent­lich erreichen willst, Schutz der Pro­gramme oder eher der Daten oder gar beides. Das wird dann aber sehr auf­wendig und bietet ja nach Kenntnis­stand und Geduld eines Unbe­fugten maximal viell 90%ige Sicher­heit.
🙈 🙉 🙊 🐵 Gruß, Luc :-?
Besser informiert mit …
Anzeige
AW: Siehe Ralf, aber reicht das? Das unbefugte ...
30.03.2017 13:27:37
tyroler
Danke für die Info.
möchte eigentlich nur verhinder, dass das jeder die Datei sich persönlich ablegt und es woanders als deren Entwicklung verkauft. Wenn sich dann jemand so gut auskennt, dass er das umgehen kann, dann kann man das glaub ich nie verhindern.
Ich würde gerne via vba vorher überprüfen, ob die Datei in dem dafür vorgesehen Ordner liegt.
Wenn ja, dann soll das Marko ausgeführt werden, wenn nicht dann Exit Sub.
Wäre super wenn ihr mir bei der Erstellung von so einem Makro helfen könntet.
Hab hierfür leider gerade gar keine Ansätze wie sowas aussehen könnte.
Grüße
Johannes
Anzeige
und es woanders als deren Entwicklung verkauft.
30.03.2017 13:33:09
RPP63
Erklärst Du mir diesen Halbsatz?
Geht es Dir um Sicherheit?
Dann solltest Du Dich fragen (nicht böse, aber durchaus persönlich gemeint), ob Du mit "VBA bescheiden" der richtige Mann für dieses Projekt bist.
Gruß Ralf
Sehe ich auch so, Ralf, denn das, ...
30.03.2017 14:16:46
Luc:-?
…Johannes, ist …
1. sehr arbeitsaufwendig,
2. erfordert sehr gute VBA- und Xl-Kenntnisse und …
3. nicht zuletzt Ideen,
wobei man PgmCode wohl am besten per COM-AddIn oder Vglbarem schützt.
Gruß, Luc :-?
AW: Excelkopierschutz
30.03.2017 13:56:35
ChrisL
Hi Johannes
Wie bereits erwähnt, ist das Vorgehen nicht 100% sicher.
Erstelle eine Mappe mit Tabelle1-3 und einem leeren Blatt "Stopp". Alt+F11, links Doppelklick auf DieseArbeitsmappe, Code einfügen.
Nicht vergessen den Pfad im Code anzupassen, weil sonst kannst du die Mappe selber nicht mehr öffnen. VBA-Passwort setzen, damit niemand das Passwort vom Mappenschutz aus dem Makro erfährt.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim sPW As String
sPW = "Passwort"
On Error Resume Next
Application.ScreenUpdating = False
Application.EnableEvents = False
ThisWorkbook.Unprotect sPW
Call SheetsAusblenden
ThisWorkbook.Protect sPW
Cancel = True
If SaveAsUI Then
Application.Dialogs(xlDialogSaveAs).Show
Else
ThisWorkbook.Save
End If
Application.EnableEvents = True
ThisWorkbook.Unprotect sPW
Call SheetsEinblenden
ThisWorkbook.Protect sPW
ThisWorkbook.Saved = True
Application.EnableEvents = True
End Sub

Private Sub Workbook_Open()
Dim sPW As String
sPW = "Passwort"
If ThisWorkbook.FullName = "C:\Pfad\Mappe1.xlsm" Then 'hier anpassen!!!!!!!!!!!
ThisWorkbook.Unprotect sPW
Call SheetsEinblenden
ThisWorkbook.Protect sPW
ThisWorkbook.Saved = True
Else
ThisWorkbook.Close
End If
End Sub

Private Sub SheetsAusblenden()
With ThisWorkbook
.Sheets("Stopp").Visible = True
.Sheets("Tabelle1").Visible = xlVeryHidden
.Sheets("Tabelle2").Visible = xlVeryHidden
.Sheets("Tabelle3").Visible = xlVeryHidden
End With
End Sub

Private Sub SheetsEinblenden()
With ThisWorkbook
.Sheets("Tabelle1").Visible = True
.Sheets("Tabelle2").Visible = True
.Sheets("Tabelle3").Visible = True
.Sheets("Stopp").Visible = xlVeryHidden
End With
End Sub

Das Prinzip:
- Blatt "Stopp" ist ein leeres Blatt, welches vor jedem Speichern eingeblendet wird. Alle anderen Blätter werden vor dem Speichern ausgeblendet.
- Tabelle1-3 enthält die Daten, welche nur sichtbar sind, wenn Makros aktiviert werden. Ansonsten ist Blatt "Stopp" sichtbar.
cu
Chris
Anzeige
AW: Excelkopierschutz
31.03.2017 14:31:00
tyroler
Vielen Vielen Dank!
hat ein bisschen gebraucht bis ich es integriert habe aber am Ende hat es geklappt.
Grüße
Johannes
AW: Excelkopierschutz - kleiner Tipp am Rande
31.03.2017 14:45:14
Daniel
Hallo
mittlerweile gibt es auch ein AfterSave-Event (Excel 2010)
damit sollte sich das ganze etwas einfacher erstllen lassen, da es reicht, im BeforeSave aus- und im AfterSave einzublenden.
man muss dann nicht den Speicherprozess mit seinen Entscheidungsmöglichkeiten im BeforeSave nachprogrammieren.
Gruß Daniel
AW: Excelkopierschutz - kleiner Tipp am Rande

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige