2011年12月4日日曜日

[ExcelVBA] Dir関数


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

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

■サンプルコード-ファイル・フォルダが存在するか確認-
  1. Option Explicit  
  2.   
  3. 'ファイルが存在するか確認する  
  4. Sub SampleCode()  
  5.     Dim TestFile As String  
  6.     TestFile = "C:\test.xls" '調べたいファイルのフルパス  
  7.     If Dir(TestFile) <> "" Then  
  8.         Debug.Print "あるよ"  
  9.     Else  
  10.         Debug.Print "ないよ"  
  11.     End If  
  12. End Sub  
  13.   
  14.   
  15. 'フォルダが存在するか確認する  
  16. Sub SampleCode2()  
  17.     Dim TestDirectory As String  
  18.     TestDirectory = "C:\test"  
  19.     If Dir(TestDirectory, vbDirectory) <> "" Then  
  20.         Debug.Print "あるよ"  
  21.     Else  
  22.         Debug.Print "ないよ"  
  23.     End If  
  24. End Sub  

■サンプルコード-指定フォルダにあるファイルリストアップ-
  1. Option Explicit  
  2.   
  3. '.htmlで終わるファイルの一覧をリストアップする  
  4. Sub SampleCode()  
  5.     Dim MatchFile As String  
  6.     MatchFile = Dir("C:\test\*.html"'.htmlで終わるファイルということでアスタリスクを使って表現  
  7.       
  8.     Do While MatchFile <> ""  
  9.         Debug.Print MatchFile  
  10.         MatchFile = Dir() '次にマッチするのを探す  
  11.     Loop  
  12. End Sub  

0 件のコメント: