Joe fragte, ob es eine Möglichkeit gibt, in einem Makro festzustellen, wer eine bestimmte Arbeitsmappe geöffnet hat. Er dachte darüber nach, die WriteReservedBy-Eigenschaft zu verwenden, aber sie scheint nicht die Informationen zu haben, die er benötigt.

Leider gibt es keine Möglichkeit, diese Informationen über VBA zu ermitteln – sie sind einfach nicht zugänglich. Die WriteReservedBy-Eigenschaft zeigt nicht an, wer eine Datei geöffnet hat. Es zeigt, wer die Arbeitsmappe mit einem Kennwort gespeichert hat. Mit anderen Worten, wenn jemand eine Arbeitsmappe mit der Option speichert, ein Kennwort zum Ändern zu haben, lautet die Datei „WriteReserved“. Die WriteReservedBy-Eigenschaft enthält den Namen der Person, die die Datei im WriteReserved-Status gespeichert hat.

Wenn Sie nur die Antwort wissen müssen (darüber, wer die Datei geöffnet hat)

In regelmäßigen Abständen ist es am einfachsten, eine Liste der geöffneten Dateinamen zu erstellen und den Netzwerkadministrator zu bitten, Ihnen mitzuteilen, wer sie geöffnet hat. Diese Informationen werden im Netzwerk verwaltet und sind für den Administrator zugänglich.

Eine andere mögliche Lösung besteht darin, jeder Arbeitsmappe ein AutoOpen-Makro hinzuzufügen, das eine temporäre Datei auf die Festplatte schreibt, die den Namen der Person enthält, die die Datei öffnet. Das Makro muss nicht nur die temporäre Datei öffnen, sondern auch Fehlerbedingungen behandeln, z. B. eine temporäre Datei, die bereits geöffnet ist. Auf die temporäre Datei können dann andere Makros zugreifen, um den darin enthaltenen Namen anzuzeigen.

Das auf der folgenden Site gefundene Makro bietet möglicherweise eine andere Lösung, um herauszufinden, wer eine bestimmte Arbeitsmappe geöffnet hat:

https://bizintelsolutions.wordpress.com/2015/01/26/who-is-in-excel-xlsx-file/

Ein zusätzlicher Ort, der möglicherweise eine Antwort enthält, ist die VBNet-Site. Der Artikel auf dieser Seite enthält Code, der möglicherweise an die gewünschten Informationen angepasst werden kann:

http://vbnet.mvps.org/index.html?code/network/netfileenum.htm

Beachten Sie, dass der Code nur in älteren Windows-Versionen funktioniert. In Versionen bis Windows 7 sollte es einwandfrei funktionieren, in späteren Versionen jedoch vorsichtig sein. Sie sollten es vollständig testen, um sicherzustellen, dass es in Ihrer Umgebung funktioniert.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (9511) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365. Eine Version dieses Tipps für die ältere Menüoberfläche von Excel finden Sie hier: