Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
804to808
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
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Letzter oder Aktiver User ermitteln

Letzter oder Aktiver User ermitteln
29.09.2006 09:30:02
MartinCH
Hallo Zusammen
Ich möchte gerne das untenstehende Sub und die folgenden Functionen zum Ermitteln des aktiven Besitzers einer Datei benutzen. Jedoch ist das Ergebnis leer. Was mache ich falsch?
Sub Test()
If TestOpen("J:\AKTIONEN\Cockpit_Aktionen\2006\InOutEventZusammenzug_Version_5.0-2006.xls") Then
MsgBox LastUser("J:\AKTIONEN\Cockpit_Aktionen\2006\InOutEventZusammenzug_Version_5.0-2006.xls")
Else
MsgBox "Nicht geöffnet"
End If
End Sub

Private Function TestOpen(sPath As String) As Integer
If Dir(sPath) = "" Then
TestOpen = 2
Else
On Error GoTo ERRORHANDLER
Open sPath For Random Access Read Lock Read Write As #1
Close #1
End If
ERRORHANDLER:
If Err = 70 Then TestOpen = 1
End Function

Function LastUser(strFileName As String) As String
Dim strText As String
Dim strFlag1 As String, strFlag2 As String
Dim i As Integer, j As Integer
strFlag1 = Chr(0)
strFlag2 = Chr(32) & Chr(32)
Open strFileName For Binary As #1
strText = Space(LOF(1))
Get 1, , strText
Close #1
j = InStr(1, strText, strFlag2)
i = InStrRev(strText, strFlag1, j) + Len(strFlag1)
LastUser = Mid(strText, i, j - i)
End Function
Besten Dank für Eure Begutachtung
Martin
PS Den Code habe ich auf dem Forum http://www.excel-center.de/forum/read.php?f=1&i=68240&t=68145
gefunden

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Ergänzung
29.09.2006 11:27:31
MartinCH
Hallo Zusammen
habe soeben einen Fehler entdeck aber noch immer wird nicht der Name des User Angezeigt welcher die Datei gerade offen hält.

Sub Test()
If TestOpen("J:\AKTIONEN\Cockpit_Aktionen\2006\InOutEventZusammenzug_Version_5.0-2006.xls") = 1 Then 'hatte das = 1 vergessen, ist ja nicht Boolean sondern Integer ;0)
MsgBox LastUser("J:\AKTIONEN\Cockpit_Aktionen\2006\InOutEventZusammenzug_Version_5.0-2006.xls")
Else
MsgBox "Nicht geöffnet"
End If
End Sub

Das Ergebnis ist anschliessend in der Msgbox sind lauter "ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ"
Da läuft was noch nicht so wie es sollte.
Gruss
Martin
Danke für Eure Hinweise
Anzeige
AW: Ergänzung
29.09.2006 11:44:14
Herbert
Hallo Martin,
funktioniert eigentlich...
schau einmal nach,welcher "User name" in den Optionen
eingetragen ist...
gruß Herbert
AW: Ergänzung
29.09.2006 12:55:36
MartinCH
Hallo Herbert
das wird bei uns nichts, in den Optionen ist der richtige Name drin (Extras/Optionen/Allgemein/Benutzername) und wenn ich die Datei manuel zu öffenen versuche ist der Name der Person welche die Datei offen hält korrekt in der Error Melde Pop Up eingetragen. Ist das mit dem Abfangen der Meldung eventuell Versionsabhängig?
Kriege immer nur diese komischen Ypsilon mit ¨'punktchen! ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
Aber Danke bis hierhin...
Gruss
Martin
Anzeige
AW: Ergänzung
29.09.2006 19:59:24
Herbert
zuerst schreibst du,daß der Name korrekt angezeigt wird,
dann kriegst du die "yyyy" !
wo kriegst du die "yyy" ?
gruß Herbert
AW: Ergänzung
30.09.2006 10:06:43
MartinCH
Hallo Herbert
1. In den Optionen unter dem Menupunkt: Extras/Optionen/Allgemein/Benutzername, ist der
Benutzername eingetragen.
2. In der MsgBox kommen nur die ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ, wenn das VBA die Funktion für den
aktiven User das Resultat an die MsgBox übergibt.
Danke für Hinweise zur Lösung dieses Problems.
Andere Frage: Läuft der Script bei Dir korrekt? Wenn ja muss ich bei uns im Netz suchen ob da eine Verschlüsselung oder so etwas ähnliches die Anzeige verhindert oder der Script ist nicht für Excel 2003.
Gruss aus der Schweiz
Martin
Anzeige
AW: Ergänzung
30.09.2006 10:27:22
MartinCH
Hallo Herbert
habe den Script an einer anderen neutralen Umgebung getestet, es läuft da einwandfrei. Somit ist das Problem bei unserem Firmennetzwerk zu suchen.
Danke für Deine Hilfe.
Gruss
Martin
PS Eventuell hast Du eine andere Lösung wie der aktive Besitzer ermittelt werden kann?
AW: Ergänzung
30.09.2006 19:55:47
Herbert
in unserem Firmennetzwerk läuft es auch...
eine andere Lösung habe spontan ich nicht...
gruß Herbert
AW: Ergänzung
02.10.2006 06:55:45
MartinCH
Hallo Herbert
Danke für den Test. Werde unsere IT anbackern und herausfinden wo der User verloren geht.
Besten Dank
Martin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige