• ベストアンサー

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

  • VBAで、アクティブなBOOKのファイル名を取得し

    エクセルのVBAを使用して、選択されている、BOOKのファイル名を取得し、下記のように編集してA1セルに入れたいのですが、可能でしょうか? BOOKのファイル名が「大阪_たこ焼き_1234.xls」の場合 大阪_と.xlsをは省いて、「たこ焼き_1234」がA1セルに入るようにしたい。

  • VBAでファイル名の変更の方法

    VBAでAというファイルをBというファイル名に変更したいのですが、方法がわかりません。 リネームする方法を教えて下さい。よろしくお願いします。

  • ファイル名を変更できない!

    ヴォイスレコーダーを使用していますが、自動でファイルに連番をつけてくれます。 その連番が099を超えたらなぜか全て 0:0 (ゼロコロンゼロ)になってしまい、 コピーもファイル名の変更もできなくなりました。 099移行のファイル名は全て VOICE0:0.mp3 です。なぜか同じフォルダ内に同じファイル名が ずらりと並んでいます。 リネームソフトのRlexible Renamerでも受け付けてくれませんでした。 これらをコピーするにはどうしたらよいでしょうか? これらをリネームするにはどうしたらよいでしょうか?

  • EXCEl/VBAで拡張子なしのファイルを開けない

    EXCEL2000 VBAのOpenTextメソッドで、拡張子の付いていないファイル(ABCDE)を開く時、同じフォルダにEXCELのブック(ABCDE.XLS)があるとブックの方を開いてしまいます。 拡張子なしのファイルを開く方法をご存知の方どうか教えてください。よろしくお願いします。

  • Excel VBA でファイルが開かれているか確認する

    ExcelのVBAで、book1.xlsというファイルが現在開かれているか確認するにはどんなプロパティを使えばいいでしょうか? 実際にやりたい事は、book1.xlsに対して処理するマクロがあるのですが、そのbook1.xlsが開かれていなければ処理が出来ないのでマクロが入っているファイルを閉じる。というものです。

  • Excel VBA別ブックのシートをコピーするには

    Excel2010のVBAで別ブックのシートをコピーしてくる方法 Excelファイル(C:\test\BOOK2.xls)のシート名が TESTというシートを自分のExcelファイル(C:\doc\BOOK1.xls)に コピーするにはどのように記述すればよいのでしょうか。 ・コピー先:自分のExcelファイル(C:\doc\BOOK1.xls)  VBAのコードがあるファイルです ・コピー元:C:\test\BOOK2.xlsのTESTシート  なお、TESTシートを持つ同じ名前(BOOK2.xls)のファイルが  別フォルダにもあります   Workbooks( )の引数にファイル名(BOOK2.xls)は指定できるのですが、 フルパス名(C:\test\BOOK2.xls)で指定できないので困っています。

  • Excel VBA ファイルをまとめる

    Excel2003にてフォルダにある複数ファイル(8個)の各1番左のシートを 指定したファイルにまとめるVBAを組みたいと思います。 まとめる際、ファイル名の一部を取得し、シート名にしたいのですが可能でしょうか? 例: ファイル名:20110927_△△△△株式会社.xls ⇒ シート名:△△△△株式会社 ※ファイルの個数は固定ですが、年月の部分は変わります。 簡単なVBAの経験しかなく、キーワード検索でもしっくりこないものばかりで どのようにコードを記述してよいのか非常に困っています。

  • Excel VBAを使って、Excelデータを別のExcelファイルに取り込みします

    報告書にexcel VBAを使って、(報告書を開いたまま)報告書のデータを別のexcelファイル(一覧)に取り込みします。 Sub k() Dim ブック As Workbook Set ブック = Workbooks.Open("c:\テスト\" & "一覧.xls") ブック.Worksheets("Sheet1").Cells(3, 2) = Worksheets("企業情報シート").Cells(3, 3) End Sub 報告書の"Worksheets("企業情報シート").Cells(3, 3)"は書き方がおかしいみたいで、正しい書き方を教えてください。

  • 任意のファイル名の変更

    ファイル名がD303????.csv。????に日付がはります。たとえばD3031214(正確には時間まで含めたファイル名)みたいに、自動でファイルがシステム上毎日作成されます。そのうち、一番新しいファイルをリネーム、単純にD303.CSVにしてエクセルで利用したい。手順的にはエクセルをたちあげて、マクロ(VBA)を起動し、たくさんあるD303????.csvのうち一番新しいものをD303.CSVにリネームしてエクセルのシートに貼り付ける。ファイル名の変更にワールド文字がつかえないので困っています。何かいい方法はありませんか。できれば、例文もおしえていただけえばありがたいのですが。

  • VBAでエクセルからエクセルのファイルを開くには?

    D:\に db1.mdb Book1.xls があります。 db1.mdbのフォームのコマンドボタンをクリックして Book1.xlsを開きたいのですが VBAコードをご教授いただけますか? (マクロではなくVBAコードが知りたいです) エクセルからエクセルのファイルを開くなら Workbooks.Open ファイルのフルパス で出来ました。 ご回答よろしくお願いします。

専門家に質問してみよう