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

Arbeitsmappe Schützen

Arbeitsmappe Schützen
27.04.2006 17:58:26
masahiro
Hallo zusammen!
Folgende frage: Wie kann ich über VBA eine Arbeitsmappe Schützen? Kann man die Funktion "Save as - tools - general options" irgendwie ansteuern? über protect/unprotect?
Vielen Dank
Grüße Henning

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsmappe Schützen
27.04.2006 18:43:39
Ramses
Hallo
Eine Arbeitsmappe kann man grundsätzlich mal mit einem Schreib-Lese-Passwort schützen.
Dazu braucht es kein Makro.
Ansonsten musst du mal beschreiben, was du eigentlich erreichen willst.
Gruss Rainer
AW: Arbeitsmappe Schützen
27.04.2006 19:03:33
henningschoelen
Hallo! Danke für die Rückfrage!
Also ich habe folgendes vor, am besten an einem Beispiel: Ich habe 10 Fabriken, jede erhält ein Excel-Dokument, in dem sie bestimmte Daten erfasst. Diese Dateien liegen auf einem Server. Es darf nicht die Möglichkeit bestehen diese direkt zu öffnen (wie oben beschrieben beschützt) sondern nur über ein Zentraldokument, welches den ZUgang zu den Dokumenten steuert. Also ruft nun Firma x das Zentraldokument auf, gibt dort ihren Fabriknamen ein, und gibt ein passwort ein welches der Fabrik zugeordnet wurde (passwörter sollen zentral verwaltet werden und können nicht dem Arbeitsblattschutz entsprechen, weil sie von der Fabrik geändert werden können). Dann öffnet sich die zu der Fabrik gehörende Erfassungsdatei. Dieses wird nun automatisch geöffnet, d.h. der Dialog zur Passworteingabe muss nun beantwortet werden. Dies soll ebenso vom aufrufenden Makro aus dem Zentraldokument automatisch geschehen. Also Fabrik gibt lediglich Namen und Passwort ein, und es öffnet sich das Dokument, alle Dokumente sind aber vor dem direkten Zugriff geschützt.
Versteht man das? hoffe mal, die Zeit ist nämlich gerade knapp!
Vielen Dank!
Henning
Anzeige
AW: Arbeitsmappe Schützen
27.04.2006 19:26:37
Ramses
Hallo
das ganze ist relativ komplex und kann ziemlich sicher nicht zu 100% abgesichert werden.
Zudem muss die Datei die du verschickst universell zu verwenden sein.
Daher folgender Vorschlag:
Auf dem Server eine Ordnerstruktur eröffnen die den Namen der Firma entspricht.
Zum Beispiel:
\\Zugriff\Firma1
\\Zugriff\Firma2
\\Zugriff\Firma3
Damit regelst du in einer Variable (Fabriknamen) den Zugriff auf die entsprechende Datei.
Workbooks.Open "\\Server\Zugriff\" & Fabrikname & "\Firma1.xls"
In einem anderen Ordner speicherst du die Passwort-Datei
\\Zugriff\Regel\Passwort.xls
In deiner Datei die du verschickst kannst du nun eine Userform einrichten die Fabrikname und Passwort abfragt aus dieser Datei.
Diese kann alternativ geöffnet werden, sollte aber nicht :-)
Daher der VBA-Zugriff auf die geschlossene Datei via EXCEL4-Makro
Zum Beispiel so:
'******************************************
'Daten aus geschlossener Datei lesen
'Gehört zusammen
'Start Sequenz
Sub TestGetValue()
    Dim p As String
    Dim f As String
    Dim s As String
    Dim R As String
    p = "C:\temp\"
    f = "test.xls"
    s = "Tabelle3"
    R = "A1"
    MsgBox GetValue(p, f, s, R)
End Sub
Private Function GetValue_from_Closed_File(path, file, sheet, ref)
    ' Retrieves a value from a closed workbook
    Dim arg As String
    ' Make sure the file exists
    If Right(path, 1) <> "\" Then path = path & "\"
    If Dir(path & file) = "" Then
        GetValue = "File Not Found"
        Exit Function
    End If
    ' Create the argument
    arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
        Range(ref).Range("A1").Address(, , xlR1C1)
    ' Execute an XLM macro
    GetValue = ExecuteExcel4Macro(arg)
End Function
'Ende Sequenz
'***********************************************


Das ganze noch in eine Schleife verpacken welche die 10 Zellen abfrägt.
Das VBA-Projekt in der Datei die du verschickst musst du allerdings noch schützen mit einem Passwort.
Das kann zwar durch eingeweihte geknackt werden, aber dazu muss schon ein wenig kriminelle Energie dahinter sein.
Alternativ kannst du die Datei die du verschickst, mit einem Lese-Schreibkennwort sichern das du NICHT mitteilst, sondern ein VBS-Script mitlieferst, das diese Datei dann öffnet.
Das VBS-Script hat den Vorteil, dass du die Datei dann einfach via Script und dem entsprechenden Passwort öffnen kannst. Dieses Passwort kann nur noch durch Brute-Force Attacken entfernt werden.
Da ja nun das VB-Script das Passwort enthält, musst du dieses kompilieren.
http://www.axel-hahn.de/axel/page_compi/vbs_screnc.htm
Dann kann niemand mehr damit was anfangen, weil unleserlich. Aber VOR dem kompilieren eine Kopie deines Scriptes machen. Der Kompiliervorgang ist unumkehrbar.
Das wäre mit einfachen Mitteln der maximale Schutz.
Gruss Rainer
Anzeige
AW: Arbeitsmappe Schützen
28.04.2006 11:56:25
Masahiro
Vielen Dank für deine Mühe!
Implementiert habe ich es nun doch ein wenig anders. Siehe Beitrag von heute morgen!
Trotzdem danke! Das Forum ist Weltklasse!
Grüße Henning

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige