今回は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で機械学習を勉強中です。