
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)
-
VBAにてEXCEL以外のファイル(テキストなど)がすでに開いているかの確認方法
Visual Basic(VBA)
-
CSVファイルが開かれているかどうか
Visual Basic(VBA)
-
-
4
すでにファイルが開かれている時のエラー回避
Visual Basic(VBA)
-
5
Excel VBAでほかのアプリケーションで使用中(ロック)のファイルを上書き保存したい
その他(プログラミング・Web制作)
-
6
VBA。開いているテキストファイルを検索
Excel(エクセル)
-
7
VBAでのタイトルバーの取得
Visual Basic(VBA)
-
8
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
9
特定のファイルを他のプロセスが編集中か確認する方法
Visual Basic(VBA)
-
10
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
11
【ExcelVBA】各セルをダブルクォーテーションで括ってCSV保存したい
Visual Basic(VBA)
-
12
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
13
ファイルやフォルダの有無、他のユーザーの使用状況を調べたい
Visual Basic(VBA)
-
14
《エクセルVBA》「他の人が該当ファイルを使用中の場合」の処理
Excel(エクセル)
-
15
VBAの配列サイズとメモリに関して
Visual Basic(VBA)
-
16
【Excel VBA】CSV取込時、数字の先頭の0を消えないようにするには?
Excel(エクセル)
-
17
VBでファイルが開かれているかどうかを確認したい
Visual Basic(VBA)
-
18
排他ロックが掛かっているファイルを読み込む
Visual Basic(VBA)
-
19
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
20
VBA:Openステートメントで開いたCSVファイルの特定行を削除する方法
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
Batch: フォルダ内の特定のファ...
-
社内Excel共有ブックでの保存ト...
-
VBAでCSVファイルが使用中かど...
-
共有フォルダに誰が何にアクセ...
-
【アクセス】「ほかのユーザー...
-
excelを共有ファイルにすると行...
-
Access2003 デザインモードで...
-
拡張子が「cda」のファイルを聞...
-
mdbファイル フォームを開くと...
-
事務の派遣で働いています。多...
-
西武の土肥投手が春日部共栄高...
-
特定のエクセルファイルを起動...
-
大量のCSVデータを行列の変換を...
-
WEBクエリが使えない場合のHPデ...
-
ACCESS リンクテーブルのEXCEL...
-
(Excelマクロ)datファイルをエ...
-
Access VBA を利用して、フォル...
-
HPの「上書き禁止」の設定法
-
一時ファイルが消えない。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel】[Expression.Error] ...
-
特定のエクセルファイルを起動...
-
Batch: フォルダ内の特定のファ...
-
共有フォルダに誰が何にアクセ...
-
Access VBA を利用して、フォル...
-
VBAでCSVファイルが使用中かど...
-
AccessVBAで作成したExcelファ...
-
(Excelマクロ)datファイルをエ...
-
excelを共有ファイルにすると行...
-
【アクセス】「ほかのユーザー...
-
社内Excel共有ブックでの保存ト...
-
tmpファイル なぜできる?削除...
-
拡張子が「cda」のファイルを聞...
-
WEBクエリが使えない場合のHPデ...
-
月が変わったら自動でシートが...
-
Excel VBA 処理後データが重た...
-
ファイルの途中に文字列を挿入
-
相手のPCにVBAからメッセ...
-
mdbファイル フォームを開くと...
-
大量のCSVデータを行列の変換を...
おすすめ情報