VBA 第一弾ですが

過去投稿

エクセルVBAの活かし方(目次) から

ファイルの操作です。

ファイルの

・移動、名前の変更

 Name "元ファイルのパス" & "\" "元ファイル名" As "新フォルダのパス" & "\" "新ファイル名"

・コピーの場合は

FileCopy Source:="元ファイルのパス" & "\" & "元ファイル名" _
, Destination:="新ファイルのパス" & "\" & "新ファイル名"

・削除

Kill "削除するファイルのパス" & "\" & "削除ファイル.*"

*はワイルドカードです。

 

こんな感じですが

最もよく使用する

指定したフォルダ内の

複数のファイル名を

取得する方法(VBA)

Dir関数です。

 

Sub ボタン1_Click()
Dim i As Integer
Dim Buf As String
i = 3
Buf = Dir(ThisWorkbook.Path & "\*.xls*")
Do While Buf <> ""
 Range("B" & i).Value = Buf
 i = i + 1
 Buf = Dir()
Loop
End Sub

 

エクセルVBAで複数のファイル名を取得

ThisWorkbook.Pathですので

このマクロを実行しているフォルダを検索します。

検索フォルダを自由に変更したい場合は

別のセルにFileDialogを使用して選択しましょう。

サブフォルダの一覧を作成したい場合は

Buf = Dir(ThisWorkbook.Path & "\*.xls*")

の部分を

Buf = Dir(ThisWorkbook.Path & "\*.xls*",vbDirectory)

Buf = Dir(Range("検索するフォルダのパスが入ったセル") & "\*.xls*",vbDirectory)

こんな感じで利用します。

詳しくは

Office TANAKA - Excel VBA Tips[Dir関数でサブフォルダを取得する]

せっかく、ファイル名の一覧が出来たら

そのセルをクリックしてファイルを開きたいですね。

セルにHyperlinkを追加する命令文もあります。

Range("B" & i).Value = Buf

Set hyplink = ActiveSheet.Hyperlinks.Add(Anchor:=Range("B" & i), _

Address:=ThisWorkbook.Path & Range("B" & i))

【ExcelVBA入門】ハイパーリンクを設定・解除・開く方法を徹底解説! 

もちろん、Windowsのエクスプローラーを操作でも同じ事が出来ます。

沢山のファイルを管理している方

このエクセルファイルを一つ準備しておくだけで

大きな効果が出ます。

前投稿のTextファイルの選択の機能に追加しても良いです。