ファイルを開いているのは誰ですか? (Microsoft Excel)
Joeは、特定のブックを開いているユーザーをマクロで判別する方法があるかどうかを尋ねました。彼はWriteReservedByプロパティの使用を考えましたが、必要な情報が含まれていないようです。
残念ながら、VBAからこの情報を特定する方法はありません。アクセスできないだけです。 WriteReservedByプロパティは、誰がファイルを開いているかを示しません。パスワードを使用してブックを保存したユーザーが表示されます。つまり、誰かがワークブックを変更するためのパスワードを持つオプションを付けて保存すると、ファイルは「WriteReserved」になります。 WriteReservedByプロパティには、ファイルをWriteReserved状態で保存した人の名前が含まれています。
答えを知る必要があるだけの場合(誰がファイルを開いているかについて)
定期的に、開いているファイル名のリストを収集し、ネットワーク管理者にそれらを開いている人を教えてもらうのが最も簡単です。このような情報はネットワーク上で維持され、管理者がアクセスできます。
別の考えられる解決策は、ファイルを開いている人の名前を含む一時ファイルをディスクに書き込む各ブックにAutoOpenマクロを追加することです。マクロは、一時ファイルを開くだけでなく、すでに開いている一時ファイルなどのエラー状態を処理する必要があります。一時ファイルは、他のマクロからアクセスして、含まれている名前を確認できます。
答えを保持する可能性のある追加の場所は、VBNetサイトです。このページの記事には、必要な情報に適応できる可能性のあるコードが含まれています:
http://vbnet.mvps.org/index.html?code/network/netfileenum.htm
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(2492)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。