Anzeige
Archiv - Navigation
596to600
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
596to600
596to600
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
ausführen von Makro nur für bestimmte User
11.04.2005 09:54:32
Makro
Hallo ForumUser,
ist es möglich das ein Makro nur bestimmte User ausführen können?
Ich hatte da an eine Möglichkeit gedacht über den Usernamen zu gehen wie in
etwa: If not Username Then dann Exit Sub
Hat jemand eine Idee?
Ich möchte hier nur 4 Usernamen das ausführen erlauben, einrichten, oder so...
User1: Thomas.Maier
User2: Sandra.Weiler
User3: Tanja.Franzke
User4: Rene.Schweller
Gruß Matze

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ausführen von Makro nur für bestimmte User
11.04.2005 10:02:10
Makro
Servus!
Guggst du hier: https://www.herber.de/mailing/038298h.htm
Und fuer die Abfrage wuerd ichs dann so machen:
If Buffer "UserName" Then Unload.Me
oder so aehnlich.
Gruss

Tobias
AW: ausführen von Makro nur für bestimmte User
11.04.2005 10:38:06
Makro
Hallo Tobias,
die Abfrage nach dem Username hab ich schon, ich komme nur nicht weiter wie der Code
aussehen könnte um Usern die nicht angegeben sind das ausführen des Makros zu unterbinden.
Gruß Matze
AW: ausführen von Makro nur für bestimmte User
11.04.2005 10:40:04
Makro
Servus!
Wieso denn komplett unterbinden? Ich wuerde den Code, den ich dir geschrieben habe, einfach dazu benuetzen. Wenn der nicht berechtigte User dann versucht, das Makro zu starten, beendet es sich automatisch.
Gruss

Tobias
Anzeige
AW: ausführen von Makro nur für bestimmte User
11.04.2005 10:45:56
Makro
ich bekomme da immer "Agument nicht optional"!!!!
Wo kann ich den bestimmen bei welchem Username nicht abgebrochen wird?
Ich habe von VBA nicht so den Durchblick...
Gruß
AW: ausführen von Makro nur für bestimmte User
11.04.2005 10:51:06
Makro
Servus!
Nunja, ohne VBA-Durchblick ist das schon ne gewagte Sache fuer dich...
Aber versuchen wirs mal:

If Buffer <> "marx" Then
Unload Me
End If
'So machste das halt fuer jeden User!
If Buffer <> "matze" Then
Unload Me
End If

Er ueberprueft also, wenn Username nicht marx und nicht matze, dann beenden.
Gruss

Tobias
AW: ausführen von Makro nur für bestimmte User
11.04.2005 11:07:13
Makro
Bekomme jetzt die Fehlermeldung "Fehler beim Kompilieren: Unzulässige Verwendung des Schlüsselworts Me"
Wenn ich jedoch daraus Unload.Me daraus mache, bekomme ich "Agument nicht optional"
Anzeige
AW: ausführen von Makro nur für bestimmte User
11.04.2005 11:10:52
Makro
Servus!
Versuchs mal statt Unload Me mit Me.Hide (soferns ne UserForm ist). Ich denke mal, dass das Unload Me nicht funktioniert, da es in einer if-Schleife steckt. Wie man das allerdings umgeht, weiss ich auch ned... dazu hab ich auch nicht genuegend VBA-Kenntnisse.
Gruss

Tobias
AW: ausführen von Makro nur für bestimmte User
11.04.2005 11:16:03
Makro
Ich arbeite nich mit einer Userform! Hab nur ein ganz normales Modul, Beispiel:

Sub Test()
If Buffer <> "Duffy.Duck" Then
Unload Me
End If
'So machste das halt fuer jeden User!
If Buffer <> "matze" Then
Unload Me
End If
MsgBox "berechtigt"
End Sub

Das ist nur zum Testen ob´s geht...
Anzeige
AW: ausführen von Makro nur für bestimmte User
11.04.2005 11:47:15
Makro
Hallo,
versuch doch mal zu umgehen in dem DU ne Sprungmarke benutzt.
Also etwa so:

Sub test()
If Buffer <> "marx" Then GoTo Ende
End If
'So machste das halt fuer jeden User!
If Buffer <> "matze" Then GoTo Ende
End If
:Ende
Unload Me
End Sub

Gruß
Heinz
AW: ausführen von Makro nur für bestimmte User
11.04.2005 12:27:04
Makro
Irgendwie geht das nicht...
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Dim Username As String

Private Sub Workbook_Open()
Dim Buffer As String * 100, BuffLen As Long
BuffLen = 100
GetUserName Buffer, BuffLen
Username = Left(Buffer, BuffLen)
'MsgBox Left(Buffer, BuffLen - 1)
Username = Left(Username, InStr(Username, vbNullChar) - 1)
If Trim$(Username) = "" Then Username = Application.Username
End Sub

Sub test()
If Buffer "Matthias.Weichert" Then GoTo Ende
'So machste das halt fuer jeden User!
If Buffer "Gast" Then GoTo Ende
MsgBox "Ja"
Ende:
MsgBox "Ne"
End Sub
Anzeige
AW: ausführen von Makro nur für bestimmte User
11.04.2005 13:52:10
Makro
Hallo,
du bist auf dem Holzweg!
in ein Modul:
Declare

Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, _
nSize As Long) As Long

Function UserName()
Dim Buffer As String * 100
Dim BuffLen As Long
BuffLen = 100
GetUserName Buffer, BuffLen
UserName = Left(Buffer, BuffLen)
UserName = Left(UserName, InStr(UserName, Chr(0)) - 1)
End Function

Beispiel für Makro:

Sub Test()
Select Case Username()
Case "Thomas.Maier","Sandra.Weiler","Tanja.Franzke","Rene.Schweller"
Msgbox "Guten Tag " &Username()
Case Else
Msgbox Username() &" hat keine Berechtigung."
End Select
End Sub

Gruß
Declare muss vor Function!
Anzeige
AW: ausführen von Makro nur für bestimmte User
11.04.2005 15:45:41
Makro
Hallo u_
danke für deine Hilfe, klappt perfekt...
Gruß Matze

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige