Access Dir関数は指定した属性と一致するファイルまたはフォルダの名前を表す文字列を返します。
■ 構文
Dir[(pathname[, attributes])]
■ 引数
pathname (省略可): ファイル名、フォルダ名を指定します。指定した内容が見つからないときは、長さ 0 の文字列 ("")
を返します。
Windows の場合、複数のファイルを指定するための "*" (アスタリスク) および "?"
(疑問符) のワイルドカード文字を使用できます。
attributes (省略可): 取得するファイルが持つ属性の値の合計を表す数式または定数を指定します。
省略すると、標準ファイルの属性になります。
attributes の定数
vbNormal (0): 標準ファイル
vbReadOnly (1): 読み取り専用ファイル
vbHidden (2): 隠しファイル
vbSystem (4): システム ファイル。Macintosh では使用できません。
vbVolume (8): ボリューム ラベル。この値を指定すると、すべての属性は無効になります。Macintosh では使用できません。
vbDirectory (16): フォルダ
vbAlias (64): エイリアスファイル。Macintosh でのみ使用できます。
■ 戻り値
引数 pathname と一致する最初のファイル名を返します。
一致するファイル名がない場合は、Dir 関数は長さ0の文字列 ("")を返します。
■ Access実行画面
ファイル名を入力し右の「チェック」ボタンをクリックすると、そのファイルの存在有無を知らせるメッセージが表示されます。
ファイルが存在するメッセージ
ファイルが存在しない場合のメッセージ
■ Access VBA 実行コード
Option Compare Database
'ファイル名チェック
Private Sub コマンド0_Click()
Dim s1 As String
If IsNull(Me!テキスト1) Then
MsgBox "ファイル名を入力してください。"
Me!テキスト1.SetFocus
Else
s1 = Dir(Me!テキスト1, vbNormal)
If s1 <> "" Then
MsgBox "入力するファイルは存在します。"
Else
MsgBox "入力するファイルは存在しません。"
End If
End If
End Sub
'フォルダ名チェック
Private Sub コマンド3_Click()
Dim s1 As String
If IsNull(Me!テキスト4) Then
MsgBox "フォルダ名を入力してください。"
Me!テキスト4.SetFocus
Else
s1 = Dir(Me!テキスト4, vbNormal)
If s1 <> "" Then
MsgBox "入力するフォルダは存在します。"
Else
MsgBox "入力するフォルダは存在しません。"
End If
End If
End Sub