Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1404to1408
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
Wenn bestimmter User Datei öffnet dann MsgBox
21.01.2015 13:57:13
Christian
Hallo zusammen,
ich möchte gerne das eine MsgBox erscheint, wenn ein oder zwei bestimmter User eine Exceldatei öffnen.
Wie eine MsgBox nach dem öffnen auf geht, dass weiß ich.
Leider habe ich nichts bzgl. des oder der User gefunden.
Danke

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn bestimmter User Datei öffnet dann MsgBox
21.01.2015 14:01:42
Hajo_Zi
benutze das open Ereignis und Environ("UserName")
in Excel ist nichts sicher, es müssen ja nur Makros deaktiviert werden.

AW: Wenn bestimmter User Datei öffnet dann MsgBox
21.01.2015 14:04:50
Christian
Danke Hajo.
Dann wohl so:
Private Sub Workbook_Open() ' Wird beim öffnen der Datei ausgeführt ***
If Environ(c.boehnke) then
MsgBox ("Test Test)"
End If
End Sub
Wie bekomme ich raus wie der angemeldete User am PC heißt?
Danke

AW: Wenn bestimmter User Datei öffnet dann MsgBox
21.01.2015 14:11:22
Hajo_Zi
Du möchtest also nicht meinen Vorschlag benutzen. Ich bin dann raus.
Zu Deinem Code musst Du den Fragen der Dir das vorgeschlagen hat.
Gruß Hajo

Anzeige
AW: Wenn bestimmter User Datei öffnet dann MsgBox
21.01.2015 14:15:15
Christian
Hallo Hajo,
das verstehe ich jetzt nicht.
Geschrieben das ich mit Environ arbeiten soll.
Dann habe ich mit meinem Laienwissen den o.g. Code erstellt und wollte wissen ob der richtig ist und wie ich den User auslesen kann.
Verstehe nicht warum du dann so scheiße antwortest!

AW: Wenn bestimmter User Datei öffnet dann MsgBox
21.01.2015 14:33:39
Klaus
Hi Christian,
den Usernamen bekommst du mit Environ("Username") heraus, du warst schon ganz nah dran:
Private Sub Workbook_Open() ' Wird beim öffnen der Datei ausgeführt ***
If Environ("Username") = "c.boehnke" then
MsgBox ("Test Test)"
End If
End Sub
Grüße,
Klaus M.vdT.

Anzeige
AW: Wenn bestimmter User Datei öffnet dann MsgBox
21.01.2015 14:40:52
Christian
Danke Klaus, dass du ein Herz für Laien hast.
Mit: "Wie bekomme ich den Usernamen raus", meinte ich eigentlich wie ich den Windows Usernamen raus bekomme. Ich muss den ja im Code angeben.
Wenn ich zwei User haben möchte, die die Box sehen dürfen dann wohl so:
If Environ("Username") = "c.boehnke", "h.meyer" then
oder?
Kann ich statt MsgBox auch eine UserForm oder ein Modul aufrufen?
Danke

AW: Wenn bestimmter User Datei öffnet dann MsgBox
21.01.2015 14:57:31
Klaus
den Usernamen bekommst du mit Environ("Username") heraus
Sub TestMeinUsername()
MsgBox Environ("Username")
End Sub

Natürlich bekommst du damit nur den Username des gerade angemeldeten Benutzers heraus.
Um die Usernamen von anderen Usern heraus zu bekommen, kannst du dir eine kleine Falle basteln. Erstelle eine Datei (Endung xlsm) und in dieser nennst du eins der Blätter "Userliste". In Blatt 1 kopierst du irgenwas lustiges. Dann legst du das ganze auf dem Server ab und schickst eine Mail an alle, dass da eine total lustige Datei liegt. Der Code:
Private Sub Workbook_Open()
Dim lRow As Long
With Sheets("UserListe")
.Visible = xlVeryHidden
lRow = .Cells(.Rows.Count, 1).End(xlUp).Row
.Cells(lRow, 1).Value = Environ("Username")
.Cells(lRow, 2).Value = Date
.Cells(lRow, 3).Value = Time
End With
ActiveWorkbook.Save
End Sub

sammelt dir dann die Usernamen unsichtbar ein. Das Blatt selbst kannst du nur per VBA wieder einblenden!
Eine einfachere, weniger Spaßige aber dafür legale Methode die Usernamen herauszufinden wäre, die User einfach zu fragen. Oder den Admin. Der Code oben kann dir als verbotene Mitarbeiterüberwachung ausgelegt werden, falls du damit auffliegst. Aber er zeigt eine Anwendung von Environ("Username"), vielleicht lernst du ja etwas.
IF-Zeilen können in VBA nicht mit Kommata getrennt werden. Entweder ein langes OR basteln
If Environ("Username") = "c.boehnke" Or Environ("Username") = "h.meyer" Or Environ("Username") = _
"c.schiffer" Then
End If
oder auf ein "Select Case" zurück greifen:
Dim bAktion As Boolean
Select Case Environ("Username")
Case "c.boehnke"
bAktion = True
Case "h.meyer"
bAktion = True
Case "c.shiffer"
bAktion = True
Case Else
bAktion = False
End Select
If bAktion = True Then
MsgBox ("Hallo Welt")
End If

Wenn du damit etwas kreativ bist, kannst du auch die Datei einfach schließen wenn der Username dir nicht passt oder unbekannt ist.
Zwischen IF und EndIF kannst du natürlich alles anstellen, nicht nur eine MsgBox plazieren. Wenn du dazwischen einen Code plazierst der den Internet-Explorer öffnet und eine Pornoseite ansteuert, dann passiert eben das. Genauso kannst du auch eine Userform starten, klar. Ein Modul kannst du nicht starten, denn Module kann man nicht starten. Aber Makros in Modulen, falls du das meinst.
Hoffe etwas geholfen zu haben!
Grüße,
Klaus M.vdT.
das mit der Pornoseite habe ich tatsächlich mal genutzt, um einen alten und prüden Kollegen aus meiner Datei heraus zu halten

Anzeige
AW: Wenn bestimmter User Datei öffnet dann MsgBox
21.01.2015 15:00:07
Christian
Danke Klaus.
Werde deinen Kommentar ausdrucken und ablegen. Den brauche ich bestimmt wieder.
Danke

Danke für die Rückmeldung! (und zu).
22.01.2015 09:53:38
Klaus
.

AW: Danke für die Rückmeldung! (und zu).
22.01.2015 09:56:23
Christian
War der denn so schlimm?

AW: Danke für die Rückmeldung! (und zu).
22.01.2015 10:41:11
Klaus
Hallo Christian,
nix war schlimm - du hast den Beitrag aber auf "noch offen" gestellt, obwohl keine Frage mehr offen war. Das habe ich korrigiert (darum der Zusatz "und zu").
LG,
Klaus

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige