Help us understand the problem. What is going on with this article?

excel & VBAでファイル名を一括リネーム

More than 3 years have passed since last update.
  1.  エクセルファイルのA列に「元のファイル名」B列に「変更後のファイル名」を入力しておき、下記サンプルではデスクトップに「myfolder」というフォルダを作成してある想定です。
  2.  ファイル右クリックから、プロパティでファイルパスを取得し、ファイルの親パスを指定する
  3.  実行するとA列の行数分実行されます
  4. 注:リネーム後の同名のファイルがあるとエラーが出ます。また、リネーム対象のファイルが無い場合もエラーが出ます

エクセルファイルのA列、B列

A B
aaa.pdf A-001.pdf
bbb.pdf A-002.pdf
ccc.pdf A-003.pdf
ddd.pdf A-004.pdf
eee.pdf A-005.pdf

デスクトップのmyfolderというフォルダには以下のファイルがある想定

→ aaa.pdf, bbb.pdf, ccc.pdf, ddd.pdf, eee.pdf

Visual Basicに標準モジュールを追加して以下を入力し実行

Option Explicit
Sub renamex()
    '保存先
    Const MyFolder$ = "C:\Users\●●●\Desktop\myfolder\"
    Const A& = 1, B& = 2

    Dim con As Long
    con = Cells(Rows.Count, "A").End(xlUp).Row
    For i = 1 To con
        Name MyFolder & Cells(i, A).Value As MyFolder & Cells(i, B).Value
    Next i
End Sub

ThisWorkbook.Pathでパスを取得する場合

エクセルファイルと同階層に、リネーム対象ファイルがある想定

Sub renamex()
    '保存先
    MyFolder$ = ThisWorkbook.Path & "\"
    Const A& = 1, B& = 2 

    Dim con As Long
    con = Cells(Rows.Count, A).End(xlUp).Row
    Dim i As Long
    For i = 1 To con
      Name MyFolder & Cells(i, A).Value As MyFolder & Cells(i, B).Value
    Next i
End Sub
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした