Ich hatte vor ein paar Tagen dieses Thema bereits angesprochen. Auch von Markus dazu Antwort erhalten. Siehe hier:
"Hallo Bassi,
schau mal hier: https://www.herber.de/forum/archiv/1096to1100/1097285_Wer_hat_Datei_geoeffnet_per_MSGBOX.html
Ist das was du suchts.
Gruß Markus"
Besten Dank nocheinmal hierfür.
Nach langem rumprobieren muss ich aber sagen, es funktioniert so nicht richtig.
In dem Link sind zwei Lösungsvorschläge.
Erster Lösungsvorschlag:
Makro Teil 1 in die geöffnete Mappe
Makro Teil 2 in die Mappe die geöffnet werden soll
Da ich aber nur eine Mappe (Exceldatei) habe um die es geht. Wäre die geöffnete Mappe dieselbe wie die, die geöffnet werden soll... weiß ich nicht was ich nun wo einfügen soll...
Zweiter Lösungsvorschlag:
Mit folgendem Code erzeugst du eine kleine Textdatei, wo der Username drin gespeichert wird...
Sub starte_Datei()
Dim cb As Workbook
Dim strDatei As String, strUsername
Set cb = Workbooks.Open("C:\Dokumente und Einstellungen\All Users\Dokumente\test2.xls")
strDatei = cb.Path & "\tag.txt"
If cb.ReadOnly = True Then
Open strDatei For Input As #1
Line Input #1, strUsername
MsgBox "Datei wird gerade bearbeitet von " & strUsername, vbCritical, "Bitte beachten"
cb.Close False
Else
Close #1
Open strDatei For Output As #1
Print #1, Environ("Username")
End If
Close #1
End Sub
cu
Chris
Korrekt ist schon mal, dass die Datei im Falle das sie bereits verwendet wird trotzdem als schreibgeschützt geöffnet wird.
Leider öffnet sich die im Code angegebene MsgBox bei mir nicht. Es wird sofort die Datei schreibgeschützt geöffnet und eine (ungeöffnete) Textdatei mit dem usernamen im selben Ordner gespeichert.
Wenn man dies nun in soweit umändern könnte, dass im Hintergrund nicht extra eine Textdatei gespeichert wird, und die MsgBox die im Code angegeben ist auch wirklich aufgeht - dann wärs perfekt :-)
Vielleicht weiß jemand Rat?
Besten Dank schon einmal.
Viele Grüße Bassi