VB6
上書き禁止かどうかをチェックする方法はありますでしょうか?
ファイルを上書きする場合に上書き出来なかったら何もしないというのをしたいのです。
ファイル属性の判定という話であれば、GetAttr 関数。
ファイルロックの話になるなら、実際にOpenしてみればOK。
> 上書き出来なかったら何もしないというのをしたいのです
On Error で判定できるかと思います。
# たとえ事前判定ができたとしても、判定してから実際に開くまでの
# 僅かなタイミングで、ファイルの状態が変化する可能性はありますから、
# いずれにしても、エラーチェックは必要になりますね。
ありがとうございます。
実際にチェックしたいのは「EXE」や「DLL」なのですが可能でしょうか?
> 実際にチェックしたいのは「EXE」や「DLL」なのですが可能でしょうか?
試してみてから聞くべきなのでは?
実際に試してうまくいきましたが、EXEやDLLをOPENしても影響はないのかが
知りたいのです。
ちなみに、以下コードです。
追加書き込みでファイルを開いて確認してます。
Private Function CheckFileCopy(ByVal FilePath As String) As Boolean
On Error Resume Next
Dim intFileNo As Integer
If Dir$(FilePath) = "" Then
Filechk = True
Else
intFileNo = FreeFile()
Open FilePath For Append As intFileNo
If Err.Number = 0 Then
CheckFileCopy = True
Else
CheckFileCopy = False
End If
Close intFileNo
End If
End Function
ではOpenがどういった操作をしているかを知る必要がありますね。
Openステートメントのヘルプを先ず読んでみて下さい。
ツイート | ![]() |