Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1220to1224
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

Mit VBA eine Windowsanmeldung nachstellen

Mit VBA eine Windowsanmeldung nachstellen
Speedpilot
Hallo Leute,
Ich zerbreche mir nun schon eine Weile den Kopf über folgendes Problem:
Prinzipiell möchte ich ein Stempelfeld auf dem Papier "digitalisieren".
Es soll also ein Feld in den Excel Arbeitsblättern geben, welches auf klick, den Benutzername und das Passwort abfragt, und bei positiver Authentifizierung den BN in das Feld einträgt.
Es reicht leider nicht nur den aktuell angemeldeten BN einzutragen.
Dies bekomme ich mit folgendem hin.
Private Const GWL_STYLE = (-16)
Private Const WS_SYSMENU = &H80000
Private Declare Function _
FindWindow Lib "User32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function _
GetWindowLong Lib "User32" Alias "GetWindowLongA" ( _
ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function _
SetWindowLong Lib "User32" Alias "SetWindowLongA" ( _
ByVal hWnd As Long, ByVal nIndex As Long, _
ByVal dwNewLong As Long) As Long
Private Declare Function _
DrawMenuBar Lib "User32" (ByVal hWnd As Long) As Long
Private Sub CommandButton3_Click()
Dim Netzwerk As Object
Set Netzwerk = CreateObject("wscript.network")
..
UCase(Netzwerk.UserName)...
Da es eine Vielzahl von Berechtigten gibt, muss die "Identifikation" über den Netzwerk, bzw. dem Windowspasswort läufen.
Ist es irgendwie möglich aus der Lib User32 einen auf dem Rechner bekannten, aber nicht unbedingt angemeldeten User mit passwort abzufragen?
Ist das Problem einigermaßen verständlich?
Vielen Dank im Voraus und viele Grüße
Speedpilot

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Mit VBA eine Windowsanmeldung nachstellen
21.07.2011 14:49:18
fcs
Hallo Speedpilot,
ich verstehe die Problematik nicht so ganz. Ihr werdet ja nicht an einem Rechner arbeiten, an dem viele Anwender mit dem gleichen allgemeinen Usernamen ihre Daten eingeben können. D.h.: normaler Weise haben sich die Anwender mit ihrem Usernamen und Kennwort angemeldet und haben die entsprechenden Berechtigungen.
Wenn du dir erhebliche Klimmzüge ersparen willst, dann solltest du das anders lösen.
A. Verwendung von Arbeitsmappen-Kennwort zum Lesen und/oder Schreiben von Daten in die Datei.
Auch wenn dem Kennwortschutz der Microsoft-Dateien nur begrenzter Schutz zugeschrieben wird, so ist zumindest das gröbste verhindert.
B. Die sensiblen Dateien werden auf Netzwerkslaufwerken/-verzeichnissen gespeichert und bearbeitet, auf die nur ein exklusiver Anwenderkreis Zugriff hat. Hierzu muss du dich halt mal mit dem Systemadmin zusammensetzen.
Es ist sicher übersichtlicher die Dateizugriffsrechte über die Einstellmöglichkeiten des Betriebssystems bzw. der Netzwerkadministration zu regeln, als innerhalb von Excel nochmals eine Zugriffsberechtigung zu implementieren.
Den aktuell angemeldeten User kann man übrigens auch mit folgender Anweisung ausgeben:
  UserInfo = VBA.Environ("USERNAME") 'Windows-Anmeldename des Users

Gruß
Franz
Anzeige
AW: Mit VBA eine Windowsanmeldung nachstellen
21.07.2011 17:19:39
Speedpilot
Hallo Franz,
schon mal vielen Dank für Deine schnelle Antwort! In der Tat suche ich nach einer Lösung in der mehrere User an einem Excel Document arbeiten. Mit Arbeiten meine ich, einer arbeitet (kennt man ja ;) )und zwei Überprüfen; also "stempeln" die Arbeit ab.
Da verschiedene Themengebiete in einem Dokument bearbeitet werden, macht es keinen Sinn sich immer wieder abzumelden und mit einem neuen User anzumelden. Würde gehen, dauert bei windows einfach zu lange.
Deshalb die Idee ein Feld einzubauen, mit dem ich das aktuelle Arbeitsblatt durch die Eingabe von BN und PW bestätigen kann, sollte BN & PW am Rechner registriert sein... (Das geht durch die Netzwerkanmeldung automatisch..
Ein Workaround wäre alle Arbeiter und Prüfer in einer separaten Datei mit PW zu führen... das würde aber wegen dem Umfang und der Rotation schwierig.
Gruß Speedpilot
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige