
No.2ベストアンサー
- 回答日時:
こんにちは。
CSV ファイルですか....難しいですよ。
Excel で CSV を開く場合、ファイルはロックされるため、下記のような
ロジックで使用中かどうかを調べることは可能です。
' // ファイルが使用中か調べる
Public Function FileInUse(ByVal sFilename As String) As Boolean
Dim n As Integer
n = FreeFile()
On Error Resume Next
Open sFilename For Binary Lock Read Write As #n
FileInUse = CBool(Err.Number > 0)
Close #n
On Error GoTo 0
End Function
ただし、これは CSV を編集するアプリが、ファイルを開くときに、
ファイルをロックする、、これが条件です。ロックされないファイル
について、使用中かどうかを判定する術はありません。
CSV は Excel で編集すると限定できる場合は、このロジックで十分です。
しかし、CSV の実態は単純なテキストですから、メモ帳などでも編集
できますよね?
メモ帳(他多くのエディタ)では、ファイルがロックがされませんから、
このケースでは検知できません。
心配ならデータベース(例えば mdb とか)を使った方がよろしいのでは?
お世話になっております。
お返事が遅れて申し訳ありません。
ご回答ありがとうございました。
参考にさせていただきます。
今後ともよろしくお願いします。
No.1
- 回答日時:
下記を参考にできませんか。
Sub getuserstatus()
Users = Workbooks("Book2.csv").UserStatus
'Book2を開いているユーザー数
un = UBound(Users, 1)
Debug.Print un
For Row = 1 To un
'ユーザー名と日時
Debug.Print Users(Row, 1), Users(Row, 2),
'状態
Select Case Users(Row, 3)
Case 1
Debug.Print "Exclusive"
Case 2
Debug.Print "Shared" '共有
End Select
Next
End Sub
お世話になっております。
お返事が遅れて申し訳ありませんでした。
ご回答ありがとうございました。
ユーザーを確認する方法がありますね。
参考にさせていただきます。
今後ともよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ファイルが開かれているかどうかの判断
Visual Basic(VBA)
-
CSVファイルが開かれているかどうか
Visual Basic(VBA)
-
VBAにてEXCEL以外のファイル(テキストなど)がすでに開いているかの確認方法
Visual Basic(VBA)
-
-
4
すでにファイルが開かれている時のエラー回避
Visual Basic(VBA)
-
5
特定のファイルを他のプロセスが編集中か確認する方法
Visual Basic(VBA)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
Excel VBAでほかのアプリケーションで使用中(ロック)のファイルを上書き保存したい
その他(プログラミング・Web制作)
-
8
VBA。開いているテキストファイルを検索
Excel(エクセル)
-
9
排他ロックが掛かっているファイルを読み込む
Visual Basic(VBA)
-
10
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
11
【ExcelVBA】各セルをダブルクォーテーションで括ってCSV保存したい
Visual Basic(VBA)
-
12
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
13
《エクセルVBA》「他の人が該当ファイルを使用中の場合」の処理
Excel(エクセル)
-
14
VBAでのタイトルバーの取得
Visual Basic(VBA)
-
15
VBでファイルが開かれているかどうかを確認したい
Visual Basic(VBA)
-
16
Access VBAでタブコントロールで選択するタブをしていするには。
Access(アクセス)
-
17
ファイルやフォルダの有無、他のユーザーの使用状況を調べたい
Visual Basic(VBA)
-
18
エクセル関数で日付かどうかの確認?
Excel(エクセル)
-
19
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
20
VBAでワークシートを引数としてサンプル関数に渡したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
特定のエクセルファイルを起動...
-
共有フォルダに誰が何にアクセ...
-
WEBクエリが使えない場合のHPデ...
-
社内Excel共有ブックでの保存ト...
-
Access2007でldbファイルが...
-
(Excelマクロ)datファイルをエ...
-
Access VBA を利用して、フォル...
-
拡張子が「cda」のファイルを聞...
-
batファイル、コマンドプロンプ...
-
Batch: フォルダ内の特定のファ...
-
VBAでCSVファイルが使用中かど...
-
VB6.0でファイルの一行だけ削除...
-
phpで連番
-
ファイルの途中に文字列を挿入
-
mdbファイル フォームを開くと...
-
excelを共有ファイルにすると行...
-
AccessVBAで作成したExcelファ...
-
XMLデータを変換し印刷する方法
-
tmpファイル なぜできる?削除...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
特定のエクセルファイルを起動...
-
Batch: フォルダ内の特定のファ...
-
共有フォルダに誰が何にアクセ...
-
excelを共有ファイルにすると行...
-
社内Excel共有ブックでの保存ト...
-
AccessVBAで作成したExcelファ...
-
事務の派遣で働いています。多...
-
VBAでCSVファイルが使用中かど...
-
拡張子が「cda」のファイルを聞...
-
Access VBA を利用して、フォル...
-
(Excelマクロ)datファイルをエ...
-
【VBA】異なる行だけを抜き出す...
-
【アクセス】「ほかのユーザー...
-
Excel VBA 処理後データが重た...
-
相手のPCにVBAからメッセ...
-
access関数を説明できる方いま...
-
XMLデータを変換し印刷する方法
-
WEBクエリが使えない場合のHPデ...
-
メールで送られてきたワードの...
おすすめ情報