タイトル : Re^5: 共有フォルダ内のエクセルファイルを現在誰が使用しているのか知りたい 投稿日 : 2011/03/07(Mon) 12:44 投稿者 : しるふぃん
私が確認したのは、VB6.0上からexcelアプリケーションとして一度ワークブックを開きます。 その後UserStatusを取得しすでに開かれているか、誰が開いているか等の判断を行っています。 【サンプル】 Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open(\\*****\***.xls) Dim Users, buf As String, i As Long If xlBook.MultiUserEditing Then Users = xlBook.UserStatus If UBound(Users) = 1 Then MsgBox "他に開いているユーザーはいません" Else MsgBox "あなた以外の誰かがブックを開いています" For i = 1 To UBound(Users) buf = buf & Users(i, 1) & Chr(9) & Users(i, 2) & Chr(9) & Users(i, 3) & vbCrLf Next i MsgBox buf End If Else MsgBox "共有ブックとして開いていません" End If xlBook.Close Set xlBook = Nothing xlApp.Quit Set xlApp = Nothing 私がよすみさんの趣旨をうまく理解できていないかもしれませんが ファイル一覧のようなフォームを開くと、そこに使用状況がある。という感じなのですかね? 私の例はあくまでもファイル名を選択してからそのファイルが〜という形なら流用できそうですがファイル一覧のフォームの使用状況にという形であれば、少し改良が必要ですね。 (使用状況の更新をどうするかも考慮しないとですが) |