共有ファイルを開いているユーザー情報を取得(UserStatus プロパティ)
2015/12/19
共有ファイルを開いているユーザー情報を取得
UserStatus プロパティは、ブックを共有ファイルとして開いている各ユーザーの情報を示す、2 次元配列を返します。値の取得のみ可能で、バリアント型(Variant)の値を使用します。
object.UserStatus ( index1, index2 )
引数・戻り値
- object ・・・ 対象となる Workbook オブジェクトを指定します。
- index1 ・・・ 各ユーザーを示すインデックス値を指定します( 1 から始まる 数値)。
- index2 ・・・ 1 から 3 の整数値を指定します。1 を指定すると ユーザー名、2 を指定すると ユーザーがブックを最後に開いた日付・時刻、3 を指定すると ファイルの種類 を取得することができます。また、3 を指定した場合、ファイルの種類が 排他 であれば、1 を、共有 であれば、2 を返します。
ブックを開いているユーザー数を取得するには、UBound 関数 を使用します。
(例)アクティブなブックを開いているユーザーの数
UBound ( ActiveWorkbook.UserStatus )
読み取り専用で開いたブックの UserStatus プロパティを取得しようとするとエラーが発生します。
- object ・・・ 対象となる Workbook オブジェクトを指定します。
- index1 ・・・ 各ユーザーを示すインデックス値を指定します( 1 から始まる 数値)。
- index2 ・・・ 1 から 3 の整数値を指定します。1 を指定すると ユーザー名、2 を指定すると ユーザーがブックを最後に開いた日付・時刻、3 を指定すると ファイルの種類 を取得することができます。また、3 を指定した場合、ファイルの種類が 排他 であれば、1 を、共有 であれば、2 を返します。
ブックを開いているユーザー数を取得するには、UBound 関数 を使用します。
(例)アクティブなブックを開いているユーザーの数
UBound ( ActiveWorkbook.UserStatus )
読み取り専用で開いたブックの UserStatus プロパティを取得しようとするとエラーが発生します。
UserStatus プロパティ 使用例
サンプルVBAソース
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
'共有ファイルを開いているユーザーの情報を取得する Sub Sample_UserStatus() Dim FileName As String Dim w As Workbook Dim str As String Dim i As Integer Dim file As String Dim users '共有ファイルを開く FileName = "C:\Documents\test01.xlsx" Set w = Workbooks.Open(FileName) users = w.UserStatus 'ユーザー情報取得 For i = 1 To UBound(users) If users(i, 3) = 1 Then file = "排他" Else file = "共有" End If str = str & "【" & i & "】" & vbCrLf & _ "ユーザー名" & vbTab & ":" & users(i, 1) & vbCrLf & _ "開いた日付" & vbTab & ":" & users(i, 2) & vbCrLf & _ "種 類" & vbTab & ":" & file & vbCrLf Next i MsgBox str w.Close Set w = Nothing End Sub |
実行結果
関連記事
-
-
簡易印刷(PageSetup.Draft プロパティ)
PageSetup.Draft プロパティ PageSetup.Draft プロ …
-
-
印刷設定(ヘッダー/フッター)書式コード・VBAコード
印刷設定(ヘッダー/フッター)書式コード・VBAコード ヘッダーおよびフッター( …
-
-
ブックが共有モードか確認する(MultiUserEditing プロパティ)
ブックが共有モードか確認する(MultiUserEditing プロパティ) 共 …
-
-
スクロールバーの表示・非表示(DisplayHorizontalScrollBar,DisplayVerticalScrollBar)
スクロールバーの表示・非表示の設定 Windows オブジェクト の Displ …
-
-
印刷設定(偶数ページのヘッダー・フッターを設定)OddAndEvenPagesHeaderFooter, EvenPage
偶数ページに別のヘッダーおよびフッターを設定 偶数ページのヘッダーおよびフッター …
-
-
指定したセル範囲が含まれるワークシートを参照する(Worksheet プロパティ)
Worksheet プロパティ Worksheet プロパティは、指定したセル範 …
-
-
シートを保護・保護したシートを解除する(Protect メソッド・Unprotect メソッド)
Protect メソッド・Unprotect メソッド Protect メソッド …
-
-
ユーザー設定のビュー(CustomView オブジェクト)
ユーザー設定のビュー CustomView オブジェクトは、登録されている各ビュ …
-
-
ワークシートのコピー・移動(Copy メソッド Move メソッド)
Copy メソッド Copy メソッドで、指定した位置にワークシートの複製を作成 …
-
-
印刷品質を設定(PageSetup.PrintQuality プロパティ)
PageSetup.PrintQuality プロパティ PageSetup.P …
