タイトル | : Re^4: 共有フォルダ内のエクセルファイルを現在誰が使用しているのか知りたい |
記事No | : 15126 |
投稿日 | : 2011/03/07(Mon) 10:33 |
投稿者 | : よすみ |
御返答ありがとうございます。 実際のプログラムを添付させていただきます。
Dim sFilename As String Dim sFile As String Dim Name As String Dim Users, buf As String, i As Long
On Error Resume Next
'エラーのトラップを留保します。 sFilename = ファイル名のフルパス
'ファイルが存在するか調べる sFile = Dir$(sFilename)
If Len(sFile) = 0 Then buf = "そのファイルは存在しません。" Else
'ファイルがあればファイルの名前を同じ名前で変更します。 Name sFilename As sFilename
'ファイルが使用中であればエラーが発生します If Err.Number Then buf = Err.Number '※※※ Users = Workbooks(ファイル名).UserStatus
For i = 1 To UBound(Users) buf = buf & Users(i, 1) & Chr(9) & Users(i, 2) & Chr(9) & Users(i, 3) & vbCrLf Next i End If End If
共有フォルダがあるPC名 PC123 共有フォルダ名 Test エクセルファイル名 ABC.xls
@まず、自分のパソコン共有フォルダのファイルを開き、「ファイル名」をABC.xlsにすれば、bufには自分の名前が入ります。 A次に同じように自分のパソコンで共有フォルダのファイルを開き、「ファイル名」を\\PC123\Test\ABC.xlsにしたら取得できません。 B他のパソコンで共有フォルダのファイルを開いてもらって、上記両方(@A)を試したら両方エラーになりました。
共有フォルダ内のフルパスは、ファイルのプロパティからコピペした「\\」から始まるパスにしてます。
どこに問題があるのか、教えていただければ幸いです。 よろしくお願いいたします。
|