dポイントプレゼントキャンペーン実施中!

csvデータにリネームしたい文字列と現在のファイル名があります。
A列にはリネームしたい文字列、B列には、現在のファイル名が順番に並んでいます。
これをどうにかしてリネームしたいのですが、何か良い方法はありませんでしょうか?


A列リネームする文字列 | B列 現在のファイル名 
-----------------------|------------------------
1234 |010.jpg
2334 |030.jpg
4534 |abc.jpg
1258 |aaa.jpg
3134 |ddd.jpg

A 回答 (2件)

(1)エクセルのデータを次のように変えてください。


  A   B             C
1 ren  (現在のファイル名) (変えたいファイル名)
2 ren  (〃)           (〃)
3 ren  (〃)           (〃)
4 ren  (〃)           (〃)
注意:各列の間に十分な空白があくように、列幅を調整してください。

(2)名前を付けて保存で、
ファイル形式を「テキスト(スペース区切り)」
ファイル名を「rename.bat」
にして、名前を変えたいファイル群と同じフォルダに保存してください。

(3)rename.batをダブルクリックしてください。

念のため、名前を変えたいファイル群を、別のフォルダーにバックアップしてからやってください。
    • good
    • 0
この回答へのお礼

うまく出来ました。
こんな便利な方法があるとは思いませんでした。
ありがとうございます。

お礼日時:2009/01/25 01:29

ファイルのリネームはVBA(マクロ)で


  NAME 旧ファイル名 As 新ファイル名
とすることで実現できます。。
ファイル名は、C:\SAMPLE\A.JPG といった感じでフルパスで指定します。

これ上から順番に処理していけば可能です。以下簡単なサンプルです。
Sub ChangeFileName()
  Dim Target As Range
  Dim OldName As String, NewName As String
  Const PATH = "C:\SAMPLE\"

  For Each Target In ActiveSheet.Range(Range("A1"), Range("A1").End(xlDown))
    OldName = PATH & Target.Offset(0, 1).Value
    NewName = PATH & Target.Value

    If OldName <> "" Then
      If Dir(OldName) <> "" Then
        Name OldName As NewName
      End If
    End If
  Next
End Sub

あとは、同名ファイルが存在しないかなどのエラーチェックも必要になると思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!