重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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

という感じです。
フリーのリネームソフトではなく何とか自力でやりたいと思っております。
お力をお貸しください。
よろしくお願いいたします。

A 回答 (2件)

こんな感じですかね



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
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/02/28 18:32

はじめまして



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/2 …
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/02/28 18:34

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