教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA プログラミング】(関数54)Dir関数のプログラミング例を教えて!

Dir関数を使用したプログラミング例を紹介します。

 

 

例題

フォルダ選択欄(A2セル)はプルダウンにてフォルダが選択ができる様に設定されています。この選択欄から任意のフォルダを選択し、<実行>ボタンをクリックします。ボタンをクリックすると選択したフォルダの直下にあるファイル名を一覧として表示します。

[実行前]:

フォルダ選択欄(A2セル)はプルダウンにてフォルダが選択できます。任意のフォルダを選択して<実行>ボタンをクリックします。

[実行後]:

「C:\Windows」を選択し<実行>ボタンをクリックした場合、C:\Windowsの直下にあるファイルが一覧で表示されます。

 

プログラミング

プログラミングは以下の通りとなります。

[記述例]:

Sub サンプル()

  '↓処理①
  Dim 行 As Long
  Dim ファイル名 As String

  '↓処理②
  Range("A5:A10000").ClearContents

  '↓処理③
  行 = 5

  '↓処理④
  ファイル名 = Dir(Range("A2") & "\*.*")

  '↓処理⑤
  Do While ファイル名 <> ""
    Range("A" & 行) = ファイル名
    行 = 行 + 1
    ファイル名 = Dir()
  Loop

End Sub

処理①:変数の定義
変数を定義します。

処理②:エリアのクリア
A5セル~A10000セルのエリアをクリアします。
(※このエリアに取得したファイル名をセットします。)

処理③:変数への初期値セット①
変数:行に初期値:5をセットします。
(※A列5行目より取得したファイル名をセットする為、5をセットします。)

処理④:変数への初期値セット②
Dir関数を使用して指定フォルダの直下にある最初のファイル名を変数:ファイル名にセットします。

処理⑤:フォルダ直下にあるファイル名を一覧表示
Do~Loop文を使用して指定したフォルダ直下にあるファイル名を変数:行に1ずつ足し込みながらA列に順番にセットします。(※フォルダ直下の全てのファイルに対して繰返処理を実行する場合は、引数を指定せずにDir関数(Dir())を指定します。)

との内容になります。

※上記の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方についてはこちらを参考にして下さい。また、ボタンにプログラムを割り当てるにはこちらを参考にして下さい。

 

ダウンロード

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com