【Excelでファイル一覧を作成する】前編

2021年09月01日 未分類

「Excel VBA」 を使ったファイル一覧の作成方法を紹介します。
今回は、「Dir」というExcelの関数を使った方法です。

1.Excelの「開発」から「Visual Basic」を選択し、コードエディターで「挿入」-「標準モジュール」を選択します。


2.以下のコードを入力します。


————-
Public Function SelectFolder_FileDialog(iniDir As String) As String

Dim s1 As String

‘フォルダ選択ダイアログ
With Application.FileDialog(msoFileDialogFolderPicker)   ‘—–①
‘タイトル
.Title = “フォルダを選択してください”   ‘—–②
‘初期フォルダ
.InitialFileName = iniDir    ‘—–③
If .Show = -1 Then     ‘—–④
‘選択された
s1 = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) ‘—–⑤
If Right$(s1, 1) <> “\” Then s1 = s1 + “\”  ‘—–⑥
SelectFolder_FileDialog = s1   ‘—–⑦
Else
SelectFolder_FileDialog = “”   ‘—–⑧
End If
End With

End Function
————-

・「Public Function」は、Excel内のどのモジュール(プログラム)からでも使うことのできる(Public)関数(Function)という意味です。
・関数なので値を返します。
・関数の名前は「SelectFolder_FileDialog」になります。
・括弧の中の「iniDir」はこの関数を呼び出す時に渡す初期値(フォルダーパス)です。

① フォルダー選択ダイアログを表示します
② ダイアログに表示するタイトルを設定します
③ 選択するフォルダーの初期値を設定します
※この関数を呼び出す時に初期値を指定します
④ ダイアログが閉じられるのを待ちます
⑤ ダイアログで選択されたフォルダー名を取得し[s1]という変数に代入します
⑥ 選択されたフォルダー名の最後に[\]記号が入力されていない場合は追加します
⑦ この関数が返す値を設定します
※ファンクション関数では、関数名に値を設定して呼び出し元へ返します
⑧ ダイアログでフォルダーを選択せずに閉じた場合は空(値無し)の文字列を返します

ここまでが、一覧を作成するフォルダーを選択するダイアログの作成です。

後編では、ファイル一覧を取得する部分と、シートにボタンを張り付けて完成です。

 

Copyright c syshan.jp all rights reserved.