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
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ファイルの選択の機能に追加しても良いです。