« VBAでファイルを削除する | トップページ | VBAでファイルの存在を確認してから開く »

2010年3月 7日 (日)

ファイルの名前を変更する

VBAでファイルの名前を変更するには
Nameステートメントを使います。
使い方は、

Name OldName As NewName

のOldNameに名前を変更したいファイルのフルパスを入れ、
NewNameに名前を変更した後のフルパスを入れます。

サンプルコードはこちら
下のコードはMyPathで指定したフォルダ内にあるファイル
test.textをAfter_test.txtというファイル名に変更します。

ファイル名を変更するコード:

Sub macro100307a()
'ファイル名を変更する

    Dim MyPath, MyFile As String
    Dim OldName, NewName As String
    MyPath = "任意のフォルダへのパス(最後に\までつける)"
    OldName = MyPath & "test.txt"
    NewName = MyPath & "After_test.txt"
    'ファイル名を変更
    Name OldName As NewName
   
End Sub

Nameステートメントはファイル名だけでなく
フォルダ名も変更できます。

下のコードは、
MyPathで指定したフォルダの中の
testfolderという名前のフォルダーを
After_testfolderという名前にフォルダ名を変更します。

フォルダ名を変更するコード:

Sub macro100307b()
'フォルダ名を変更する

    Dim MyPath, MyFile As String
    Dim OldName, NewName As String
    MyPath = "任意のフォルダへのパス(最後に\までつける)"
    OldName = MyPath & "testfolder"
    NewName = MyPath & "After_testfolder"
    'ファイル名を変更
    Name OldName As NewName
   
End Sub

次にある条件のファイルを検索して
その条件を満たすファイル名を変更するコードです。

MyPathで名前を変更したいファイルがあるフォルダまでのパスを指定します。
このコードでは、区切りの\まで付けて指定してください。

検索条件のところ「*.*」は、
指定したフォルダ内のすべてのファイルにマッチします。

下のコードは、指定したフォルダ内のすべてのファイルの名前の前に
「2009」を付け足します。

ファイルを検索してファイル名を変更するコード:

Sub macro100307c()
'ファイル名を変更する
    Dim MyPath, MyFile As String
    Dim OldName, NewName As String
    Dim i As Integer

    MyPath = "任意のフォルダへのパス(最後に\までつける)"
        'ファイルの有無を確認
        With Application.FileSearch
            .LookIn = MyPath
            .Filename = "*.*" 'すべてのファイル
            If .Execute() > 0 Then
                MsgBox .FoundFiles.count & _
                    " 個のファイルが見つかりました。"
                For i = 1 To .FoundFiles.count
                    MyFile = Right(.FoundFiles(i), Len(.FoundFiles(i)) - Len(MyPath))
                    OldName = .FoundFiles(i)
                    NewName = MyPath & "2009" & MyFile
                    'ファイル名を変更
                    Name OldName As NewName
                Next i
            Else
                MsgBox "検索条件を満たすファイルはありません。"
            End If
        End With
End Sub

目的に合うよう、検索条件など変更して使えば、
大量のファイルの名前を変更するのが楽です。

|

« VBAでファイルを削除する | トップページ | VBAでファイルの存在を確認してから開く »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: ファイルの名前を変更する:

« VBAでファイルを削除する | トップページ | VBAでファイルの存在を確認してから開く »