Anzeige
Archiv - Navigation
608to612
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
608to612
608to612
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kopierschutz

Kopierschutz
10.05.2005 13:19:02
Martin
Hallo
Nachdem das mit meiner anderen Idee nicht hingehauen hat (Formeln n andere Tabelle auslagern) bin ich beim Stöbern nach anderen Möglichkeiten auf eine bessere "Lösung" gestoßen .
Wie kann ich eine Exel-Tabelle an einen bestimmten Rechner (Hardware) binden ?
Die Idee wurde im Forum nagesprochen , aber keine Lösung geboten.
Gruß , martin

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Environ("Computername")
10.05.2005 13:26:17
ransi
hallo martin
versuchs mal als ansatz mal so:
Option Explicit
Public Sub t()
MsgBox VBA.Environ("Computername")
End Sub

Private Sub Workbook_Open()
If VBA.Environ("Computername") <> "Der Name der oben ausgegeben wird" Then ThisWorkbook.Close False
End Sub

ransi
AW: Environ("Computername")
10.05.2005 14:05:18
martin
hallo ransi
das sieht ja äußerst interessant aus und ist vom prinzip her genau das richtige .
allerdings scheine ich zu doof zu sein, das einzuarbeiten :-(
habe den editor in der betreffenden tabelle geöffnet, doppelt auf "diese Arbeitsmappe" geklickt, den Text von "Public Sub" bis "End Sub" eingefügt, und rumgetüftelt wo und ob ich nun meinen Computernamen eintragen muss .
Aber jedesmal beim erneuten öffnen der Tabelle, hat er die Tabellenblätter geschlossen .
SOWEIT funzt es ja schon prima *ggggggg*
nun soll er sie aber ja bei MEINEM rechner offen lassen ...
mein pc heißt "triton1972" ... und wenn ich dich nochmal belästigen darf : WO zum geier gehört DAS in deine n vba-text ?
jaja , ich weiß "so doof kann man doch nicht sein " .... *g*
wäre dir trotzdem dankbar
martin
Anzeige
AW: Environ("Computername")
10.05.2005 14:43:52
ransi


      
Hallo Martin
Ich kann dich beruhigen, du bist nicht zu doof.
Ich habe nur zuviel Wissen bei dir vorrausgesetzt.
Wie du aus den anderen Antworten sehen kannst, können bei environ()Probleme auftreten die MIR 
nicht bekannt sind.
Auf meinem PC habe ich den code so getestet:
Doppelclick auf DieseArbeitsmappe.
da diesen code reinkopieren:
(Da warst du richtig)
Option Explicit
Public Sub t()
MsgBox VBA.Environ(
"Computername")
End Sub
Private Sub Workbook_Open()
If VBA.Environ("Computername") <> "Der Name der oben ausgegeben wird" Then ThisWorkbook.Close False
End Sub
dann startest du 
Public Sub t()
MsgBox VBA.Environ(
"Computername")
End Sub
mit F5. Diese kleine 
Sub dient nur dazu herauszufinden wie dein computer heisst.
den namen der dann ausgegeben wird schreibst du hier rein:
Private Sub Workbook_Open()
If VBA.Environ("Computername") <> "\ul Der Name der oben ausgegeben wird " Then ThisWorkbook.Close False
End Sub
dann kannst du dieses hier  
Public Sub t()
MsgBox VBA.Environ(
"Computername")
End Sub
löschen.
dein fertiger code müsste dann so aussehen:
Private Sub Workbook_Open()
If VBA.Environ("Computername") <> "triton1972" Then ThisWorkbook.Close False
End Sub
ransi 


Anzeige
AW: Environ("Computername")
10.05.2005 14:51:17
martin
SUUUUUUUUUUUUUUUUUUPER *freu*
danke für die mühe, die du dir gegeben hast.
super ausführlich !
hat geklappt und ich bin happy :-)
dankeeeeeeeeee !
(den anderen natürlich auch !!!)
gruß,
martin
AW: Environ("Computername")
10.05.2005 14:12:56
Reinhard
Hallo ransi & Martin,
geht so nicht direkt bei Win98.
Dazu muss einmalig in die Autexec,bat geschrieben werden:
set Comutername=meiner
dann klappt

Private Sub Workbook_Open()
If Environ("COMPUERNAM") <> "meiner" Then MsgBox "Alarm"
End Sub

Wie man an COMPUERNAM gut erkennen kann, kann man beliebige Namen wählen *g
Gruß
Reinhard
Anzeige
AW: Kopierschutz
10.05.2005 14:12:59
marcl
Hallo Martin,
wenn Du im Netzwerk arbeitest, könnte das so gehen:

Sub nam() ' wenn Du statt nam  auto_open nimmst, startet es bei jedem Öffnen der Datei
Dim nam
nam = Application.UserName ' Dein Anmeldename
If nam <> "Dein Name" Then Exit Sub
End Sub

Gruß
marcl
AW: Kopierschutz
10.05.2005 14:15:07
Herbert
Hi,
nie die Prozedur und eine Variable mit selbem Namen verwenden!
mfg Herbert
AW: Danke Herbert m.T
10.05.2005 14:25:55
marcl
Jo, habe ich übersehen.
Kommt es zu heftigen Fehlern dabei? Bis jetrzt habe ich glaub ich nie die selben Namen verwendet.
Danke.
AW: Kopierschutz
10.05.2005 14:30:52
martin
danke marcl
arbeite aber nicht im netzwerk
gruß, martin
Anzeige
Freut mich wenns klappt, aber..
10.05.2005 15:01:55
ransi
hallo Martin
...diese Vorgehensweise taugt nur für OttoNormalUser.
Ich will dich ja nicht entmutigen, aber wenn du die Datei mit deaktivierten Makros
öffnest ist der Code für die Katz.
Da musst du dann schwereres Geschütz auffahren.
Das übersteigt meine bescheidenen Fähigkeiten aber bei weitem...
ransi
AW: Freut mich wenns klappt, aber..
10.05.2005 15:24:24
martin
Hi Ransi
Hmmm ....
Das ist natürlich "blöd" ...
Kann man nicht :
beim Öffnen der Tabelle VERLANGEN, daß die Makros aktiviert werden, weil sie sich anderenfalls sofort wieder schließt ?
Quasi : wenn kein Makro dann keine Tabelle ansonsten weiter zur Computername-Abfrage*g*
und :
gibt es derartiges nicht auch für Word-Dokumnte
martin
Anzeige
AW: Freut mich wenns klappt, aber..
10.05.2005 15:47:01
Reinhard
Hallo Martin,
so einfach geht es nicht, das "Verlangen" wird ja durch ein Makro ausgelöst und das läuft ja dann nicht *g
Aber es gibt Lösungen, zumindest für User die die keine makros können.
Beim Schliesen der datei werden alle Blätter extrem verstect, nur noch mit Makro sichtbar zu machen, bis auf eins wo halt steht: Bitte makros aktivieren sonst siehste hier nix.
Sind Makros aktiviert, kann man dann den Benutzer checken ud ggfs alle Blätter wieder einblenden oder auch nicht.
Natürlich muss man dann auch den Makrocode mit Passwort belegen, sonst könnte der User da zufällig mal reinschsauen, sieht dann das xlveryhidden, schaut in die Hilfe und kann es dann aushebeln das ganze.
Schau mal hier nach Hajo Z, der hat auf seiner hp ein Beispiel wie das gemacht wird, habe jetzt die Adresse nicht parat, sie steht/stand aber oft in seinen Postings.
Gruß
Reinhard
Anzeige
AW: Freut mich wenns klappt, aber..
10.05.2005 16:24:44
martin
hi reinhard
hab schon auf der besagten seite nachgeschaut, aber probleme gehabt, die dortige tabelle (bzw. die vba programmierung)in meine einzubauen .
aber ranzi hat mir ja gerade seine version davon geschrieben .
sie funzt *freu+
trotzdem nochmal vielen dank für deine bemühungen !
gruß, martin
aw:
10.05.2005 16:01:04
ransi
Hallo martin
Verlangen kann man viel, aber obs auch gemacht wird...?
Wage ich mal zu bezweifeln.
Versuch mal folgendes:
erstell dir ein dummysheet noch vor deiner ersten Tabelle.
das nennst du Dummy
dann wie gehabt :
doppelclick auf DieseArbeitsmappe und diesen code rein:
Option Explicit
Dim wks As Worksheet

Private Sub Workbook_BeforeClose(Cancel As Boolean)
For Each wks In Worksheets
If wks.Name <> "Dummy" Then wks.Visible = xlSheetVeryHidden
Next
End Sub


Private Sub Workbook_Open()
If VBA.Environ("Computername") <> "triton1972" Then ThisWorkbook.Close False
For Each wks In Worksheets
wks.Visible = xlSheetVisible
Next
End Sub

Sinn und zweck der ganzen übung:
Ohne makros keine sheets.
Hier ist ein beispiel wie es laufen könnte.
https://www.herber.de/bbs/user/22406.xls>
ransi
Anzeige
jau
10.05.2005 16:12:06
martin
hey , ransi
mit dir kann man echt arbeiten .
funzt super !
wenn dir jetzt nicht NOCH ein haken auffällt *hoff*, dann ist's perfekt .
vielen dank nochmal !
gruß, martin
AW: Haken gibts genug...
10.05.2005 16:33:04
ransi
Hallo MArtin
Bedenke:
In Office ist NICHTS, aber wirklich GARNICHTS sicher.
Auch dieser code ist für einen PowerUser kein Hinderniss.
Auch das VBA-Passwort ist zu knacken.
Aber ich denke für den Hausgebrauch ist er mehr als genug.
ransi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige