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

Schreibschutzdialog und Usernamen

Schreibschutzdialog und Usernamen
13.05.2019 13:03:49
Sven
Hallo zusammen,
ich habe eine Arbeitsmappe, bei der gleich beim Start ein Userform unterschiedliche Funktionen anbietet. Die meisten erfordern exklusiven Zugriff auf die Mappe (readonly = false) und sind anderenfalls gesperrt.
Jetzt würde ich gerne, wenn die Mappe bereits von einem anderen User geöffnet ist, das Userform um einen Hinweis ergänzen. Kann ich irgendwie auf diesen (im Standarddialog von Excel ja angezeigten) Usernamen zugreifen und den Standarddialog darüber hinaus unterdrücken?
Theoretisch wäre es sonst ja möglich, dass ich beim Öffnen (readonly = true) den Usernamen temporär wegschreibe und beim zweiten Öffnen (readonly = true) auslese. Aber in eine externe Textdatei möchte ich das nicht schreiben und die eigentliche Mappe ist ja nunmal schreibgeschützt...
Hoffentlich ist mein Anliegen rübergekommen. Würde mich über Tipps freuen.
Sven

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schreibschutzdialog und Usernamen
13.05.2019 14:04:12
Rudi
Hallo,
an den Usernamen kommst du so:
Function fncWerBenutztDieDatei(ByVal strFullName As String) As String
Dim strPath As String, strFile As String, tmp
Dim secUtil As Object
Dim secDesc As Object
Dim strPS As String
strPS = Application.PathSeparator
tmp = Split(strFullName, strPS)
strFile = tmp(UBound(tmp))
tmp(UBound(tmp)) = ""
strPath = Join(tmp, strPS)
Set secUtil = CreateObject("ADsSecurityUtility")
Set secDesc = secUtil.GetSecurityDescriptor(strPath & strFile, 1, 1)
fncWerBenutztDieDatei = secDesc.owner
End Function
Sub WerBenutztDieDatei()
Dim strUser As String, strFileName
strFileName = Application.InputBox("Vollständiger Dateiname?", "Dateinamen eingeben", , , , ,  _
, 2)
If TypeName(strFileName) = "String" Then
strUser = fncWerBenutztDieDatei(strFileName)
MsgBox strUser
End If
End Sub
Gruß
Rudi
Anzeige
AW: Schreibschutzdialog und Usernamen
13.05.2019 15:44:50
Sven
Hallo Rudi,
danke für die Rückmeldung.
Was ist denn ADsSecurityUtility?
In meinem Fall soll die Datei ja schauen, wer sie selber nutzt - klappt das dann so auch?
Grüße
Sven
AW: Schreibschutzdialog und Usernamen
13.05.2019 22:45:42
fcs
Hallo Sven,
für das Unterdrucken der Standardmeldung, wenn die Datei ein anderer User geöffnet hat, hab ich keine Lösung.
In der Beispiel-Datei hab ich mal versucht Rudis Function einzubauen plus eine Prüfung der Datei auf ReadOnly beim öffnen. Je nach Status wird dann im Userform ein Label mit Hinweis eingeblendet.
https://www.herber.de/bbs/user/129752.xlsm
Ich konnte jetzt nicht testen, wie das aussieht wenn ein anderer User im Netz die Datei geöffnet hat.
LG
Franz
Anzeige
AW: Schreibschutzdialog und Usernamen
14.05.2019 09:10:58
Sven
Danke, Franz & Rudi.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige