2011年12月4日日曜日

[ExcelVBA] Dir関数


■構文
Dir[(pathname[, attributes])]

■説明
指定したパターンやファイル属性と一致するファイル・フォルダの名前を返します。
第一引数:(省略可能)ファイル名を表す文字列を指定。フォルダ名・ドライブ名も含めて指定できます。 ファイル名を表す文字列には、"*","?"を使うことができます 第二引数:(省略可能)取得するファイルの属性を指定。省略時は“標準ファイル”になります。
定数内容
vbNormal0標準ファイル
vbReadOnly1読み取り専用ファイル
vbHidden2隠しファイル
vbSystem4システムファイル。
vbVolumne8ボリュームラベル。
vbDirectory16フォルダ
vbAlias64エイリアスファイル

■サンプルコード-ファイル・フォルダが存在するか確認-
Option Explicit

'ファイルが存在するか確認する
Sub SampleCode()
    Dim TestFile As String
    TestFile = "C:\test.xls" '調べたいファイルのフルパス
    If Dir(TestFile) <> "" Then
        Debug.Print "あるよ"
    Else
        Debug.Print "ないよ"
    End If
End Sub


'フォルダが存在するか確認する
Sub SampleCode2()
    Dim TestDirectory As String
    TestDirectory = "C:\test"
    If Dir(TestDirectory, vbDirectory) <> "" Then
        Debug.Print "あるよ"
    Else
        Debug.Print "ないよ"
    End If
End Sub

■サンプルコード-指定フォルダにあるファイルリストアップ-
Option Explicit

'.htmlで終わるファイルの一覧をリストアップする
Sub SampleCode()
    Dim MatchFile As String
    MatchFile = Dir("C:\test\*.html") '.htmlで終わるファイルということでアスタリスクを使って表現
    
    Do While MatchFile <> ""
        Debug.Print MatchFile
        MatchFile = Dir() '次にマッチするのを探す
    Loop
End Sub

0 件のコメント: