業務をする中で、ファイルの整理が苦手で悩んでいませんか?Excel VBAを使えば、フォルダ内のファイルを自動的に拡張子毎に分類することができます!この記事では、初心者向けに分かりやすく、フォルダ分類のプログラムコードを紹介します。ぜひ、お読みください!
・仕事していて、ファイルが乱雑に保存されていく。。。
・みんなで使うフォルダがルールがないため、保存先がわからない。
・自動で分類する方法ないかな。。。
こんな疑問を解決します。
このブログの対象者
・ブログを始めたいけれど、ファイルの整理に悩んでいる初心者の方
・Excel VBAを使って効率的に作業を進めたいと考えている方
・ファイルの分類作業に手間取っているブロガーの方
拡張子毎にフォルダを作成して自動分類するプログラム例
以下は、Excel VBAを使用してフォルダ内のファイルを拡張子毎に分類し、拡張子のフォルダが存在しない場合には新しいフォルダを作成するプログラムです。
まず最初にフォルダの中に、複数の拡張子のファイルを保存します。こんな感じで、PDF, csv, pngのファイルを乱雑に入れておきます。
こちらのフォルダを作成したら、パスを確認します。
今回のパスは:C:\Users\user\OneDrive\ドキュメント\VBA
このパスをプログラムの中のフォルダパスに入れます。コードはこのままVBAの貼り付ければ使用することができます。ただ、フォルダパスのみ、自分のPCのパスを入れてみてください。
Sub フォルダ内ファイルの分類()
Dim フォルダパス As String
Dim ファイル名 As String
Dim 拡張子 As String
Dim 対象フォルダ As Object
Dim 対象ファイル As Object
Dim 対象フォルダ名 As String
' 対象のフォルダパスを指定してください
フォルダパス = "C:\Users\user\OneDrive\ドキュメント\VBA"
' 対象フォルダを作成
Set 対象フォルダ = CreateObject("Scripting.FileSystemObject").GetFolder(フォルダパス)
' フォルダ内の各ファイルに対して処理を行う
For Each 対象ファイル In 対象フォルダ.Files
ファイル名 = 対象ファイル.Name
拡張子 = UCase(Right(ファイル名, Len(ファイル名) - InStrRev(ファイル名, ".")))
' 拡張子のフォルダが存在しない場合は作成
If Not CreateFolderIfNotExists(フォルダパス & "\" & 拡張子) Then
MsgBox "フォルダの作成に失敗しました。"
Exit Sub
End If
' ファイルを移動
対象ファイル.Move フォルダパス & "\" & 拡張子 & "\" & ファイル名
Next 対象ファイル
MsgBox "ファイルの分類が完了しました。"
Set 対象ファイル = Nothing
Set 対象フォルダ = Nothing
End Sub
Function CreateFolderIfNotExists(フォルダパス As String) As Boolean
Dim 対象フォルダ As Object
On Error Resume Next
Set 対象フォルダ = CreateObject("Scripting.FileSystemObject").GetFolder(フォルダパス)
On Error GoTo 0
If 対象フォルダ Is Nothing Then
On Error Resume Next
CreateObject("Scripting.FileSystemObject").CreateFolder フォルダパス
On Error GoTo 0
Set 対象フォルダ = CreateObject("Scripting.FileSystemObject").GetFolder(フォルダパス)
If 対象フォルダ Is Nothing Then
CreateFolderIfNotExists = False
Else
CreateFolderIfNotExists = True
End If
Else
CreateFolderIfNotExists = True
End If
Set 対象フォルダ = Nothing
End Function
では下記の再生ボタンを押して、プログラムを実行してみます。
一瞬でMsgBoxにファイルの分類が完了しましたと表示されます。
ではフォルダを見てみましょう。
一瞬で、元のフォルダの乱雑だったファイルが、拡張子毎にフォルダが作成され格納されています。CSV, PDF, PNGフォルダが作成され、例えばPNGフォルダ内にはこのようにPNGファイルのみに分類されています。
今回は拡張子毎に分けましたが、これらはファイル名称で分けることも可能ですので、ファイル名称にルールをつけ、きれいに自動でフォルダ分類をすることができます。
プログラムの中身
実際にプログラムをやったことでどのようなことができるか分かったと思います。
このプログラムでは、`フォルダパス`変数に分類したいフォルダのパスを指定してください。プログラムは指定したフォルダ内のファイルを処理し、各ファイルの拡張子を取得します。
次に、拡張子のフォルダが存在しない場合にはCreateFolderIfNotExists関数を使用して新しいフォルダを作成します。この関数は指定されたパスに対応するフォルダが存在しない場合にのみフォルダを作成し、作成が成功したかどうかを返します。
フォルダの作成が成功した場合、ファイルを移動します。各ファイルは元のフォルダから拡張子のフォルダに移動されます。
最後に、処理が完了したことを示すメッセージボックスが表示されます。
このプログラムを実行することで、指定したフォルダ内のファイルが拡張子毎に分類され、それぞれの拡張子に対応するフォルダが作成されます。
まとめ
Excel VBAを使ってフォルダ内のファイルを自動的に分類する方法を紹介しました。このプログラムを使えば、ブログ運営におけるファイルの整理作業が効率化され、時間と手間を節約することができます。初心者でも簡単に使えるプログラムなので、ぜひ試してみてください!ブログの運営をスムーズに行い、より多くの読者に魅力的なコンテンツを提供しましょう。
この記事が皆さんのブログ運営に役立つことを願っています。ご質問や疑問があれば、お気軽にコメントしてください。