Excel VBA > ツール・システム紹介 > ファイル名を変更するプログラム
このエントリーをはてなブックマークに追加

ファイル名を変更するプログラム

定期作業でなくてもプログラム作成した方が早い!?

マクロというと「繰り返し作業を自動化」というのが定番ですが、弊社では、モノによっては繰り返しでなくてもプログラムをすることも少なくありません。
今回はその一例でファイル名を変更する使い捨て的なプログラムを作成しました。

規則性があり、大量の作業ではこの方が確実

対象となる作業件数が多く、しかもそれに規則性がある場合は、プログラム化したほうが効率性が上がるだけでなく、間違いがなくなります
こういった点から弊社では自社内作業でもプログラム化をしています。

ファイル名を変更するプログラムとは

今回提示したファイル名を変更するプログラムは、規則性を持ったファイル名を一律に変更することを目的としています。
今回のような使い捨て的なマクロではコーディングも「とりあえず動けばOK」的になっている点ご容赦です。

処理としては指定したフォルダ(パス)にあるファイルで、かつJPG画像のファイルだけを抽出し、それらのファイル名の先頭文字を削ってリネームしています。

Sub ファイル名変更()

    Dim strPath As String
    Dim strFileName As String

    ‘ファイルがあるパス
    strPath = “D:\”

    ‘上記パスにあるファイル名(jpgのみを抜き出し)
    strFileName = VBA.Dir(strPath & “\*.jpg”, vbNormal)

    ‘ファイルが無くなるまで処理
    Do While strFileName <> “”
        ‘規則性(3桁目がハイフンかどうか)で対象ファイルかどうかを判別
        If VBA.Mid(strFileName, 3, 1) = “-” Then

Debug.Print strFileName
            Name strPath & “\” & strFileName As strPath & “\” & VBA.Mid(strFileName, 4, VBA.Len(strFileName))

        End If

        strFileName = Dir
    Loop

End Sub

このプログラムでファイル500個が1秒かからずに終わります。
上記は10分程度で作成したものですが、実際には、「プログラム作成時間」とこの作業を「手作業でやる時間」を比較し、どちらが効率的かを判断することになると思います。
プログラム(マクロ化)でどれほど効率的にできるかは、開発者(作成者)のスキルにも依存するところですが、逆にこういう活用ができると職場でも重宝されるのかと思いますし、重宝されたいですね。

カテゴリ:ツール・システム紹介