• ベストアンサー

VBAでファイル名を変更したい

EXCEL2003のVBAでブックを連続して保存をするものを作成したのですが、スキルが足りないため、ファイル名が数字になってしまい、リネームをしたいのですが、出だしからつまずいております。 リネームをしたいブック(ファイル)は一つのフォルダに入っており、 excelのシートには旧ファイル名と新ファイル名の一覧をつくり VBAを実行すると一覧に載っているブック名が変更される というものを作りたいのですが、可能でしょうか。 一覧は 旧ファイル名  新ファイル名 1.xls      1北海道.xls 2.xls      2青森.xls という感じです。 フリーのリネームソフトではなく何とか自力でやりたいと思っております。 お力をお貸しください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.1

こんな感じですかね Sub aaa()   Dim ws As Worksheet   Dim wb As Workbook   Dim ln As Long   Dim fn1 As String   Dim fn2 As String      Set ws = ActiveSheet   ln = 1         Do     fn1 = ws.Range("A" & ln).Value '読み込みファイル名     fn2 = ws.Range("B" & ln).Value '書き込みファイル名          If Len(fn1) = 0 Then Exit Do '空欄になってたら抜ける     If Len(fn2) = 0 Then Exit Do          Set wb = Workbooks.Open(fn1) 'ひらく     wb.SaveAs fn2 '別名で保存     wb.Close '閉じる          ln = ln + 1   Loop End Sub

omusupa
質問者

お礼

早速のご回答ありがとうございます。 大変勉強になり、解決もいたしました。 ありがとうございました。

その他の回答 (1)

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.2

はじめまして 1回だけの操作なら、VBAを使わなくてもできる方法があります。 A     B      C ren  "1.XLS"  "1北海道.xls" ren  "2.XLS"  "2青森.xls" … と頭に「ren」をつけて一覧を作成します。 ファイル名にスペースがある場合はダブルクォーテーションでくくります。 これをファイルのあるフォルダに 「名称変更.bat」と拡張子を「.bat」で 「テキスト(タブ区切り)」の形式で 保存します。 この.batのファイルを実行するとファイル名の変更ができます。 http://itpro.nikkeibp.co.jp/free/NT/WinKeyWord/20040805/1/ren.shtml

omusupa
質問者

お礼

早速のご回答ありがとうございます。 いろいろな方法があるのですね、 勉強になりました。 ありがとうございました。

関連するQ&A