今回はVBAでファイルチェック関数を作成したのでアップしてみる。
以下それである。
'#
'#ファイルチェック関数
'#
'#引数1:ファイルパス(フルパス)
'#
'#返り値が0の時:正常終了
'#返り値が1の時:エラー
Function FileCheck(FilePath As String) As Integer
'エラー処理方法を記載
On Error Resume Next
'ファイルの存在判定
If Dir(FilePath) = "" Then
MsgBox "存在しないファイルがあります"
'ファイルが存在しない際のエラー値
FileCheck = 1
'関数脱出
Exit Function
End If
'ブックをファイルの追記モードとして開く
Open FilePath For Append As #1
'ファイルを閉じる
Close #1
'エラーが発生していたら
If Err.Number > 0 Then
MsgBox "すでに対象ファイルが開かれています"
'ブックが開いている時のエラー値
FileCheck = 1
Else
'正常処理の際の返り値
FileCheck = 0
End If
End Function
今回の関数は途中でぶつ切りにすることができない。
ファイルの存在判定と、ファイルが開いているかを同時に判定しているが、
下のファイルが開く関数のみ取り出すと、
ファイルが存在しない場合、空ファイルが生成されてしまう。
エラーなら1を、正常終了ならば0を返す。
これもVBA実行時に結構な頻度で使用する。
特にファイルが開かれた編集モードだとエラーを返してくれるのでありがたい。
一応使用は自己責任なんでよろしくお願いします。
使用例
Option Explicit
Sub ファイルテスト()
Dim FilePath As String
Dim val As Integer
FilePath = "C:\Users\test\Book1.xlsx"
val = FileCheck(FilePath)
MsgBox (val)
End Sub
コメント
今更ですが、あけましておめでとうございます。
お体の調子はどうでしょうか?
あけましておめでとうございます。
こちらは1月末より引越しを控えていて大騒ぎです
体調は徐々に回復傾向にあります。
(MFの復活はないですけど^^;)
今はPythonで機械学習を勉強中です。