- ベストアンサー
VBAでファイル名を変更したい
EXCEL2003のVBAでブックを連続して保存をするものを作成したのですが、スキルが足りないため、ファイル名が数字になってしまい、リネームをしたいのですが、出だしからつまずいております。 リネームをしたいブック(ファイル)は一つのフォルダに入っており、 excelのシートには旧ファイル名と新ファイル名の一覧をつくり VBAを実行すると一覧に載っているブック名が変更される というものを作りたいのですが、可能でしょうか。 一覧は 旧ファイル名 新ファイル名 1.xls 1北海道.xls 2.xls 2青森.xls という感じです。 フリーのリネームソフトではなく何とか自力でやりたいと思っております。 お力をお貸しください。 よろしくお願いいたします。
- omusupa
- お礼率86% (350/406)
- オフィス系ソフト
- 回答数2
- ありがとう数4
- みんなの回答 (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
その他の回答 (1)
- rukuku
- ベストアンサー率42% (401/933)
はじめまして 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
お礼
早速のご回答ありがとうございます。 いろいろな方法があるのですね、 勉強になりました。 ありがとうございました。
関連するQ&A
- VBAで、アクティブなBOOKのファイル名を取得し
エクセルのVBAを使用して、選択されている、BOOKのファイル名を取得し、下記のように編集してA1セルに入れたいのですが、可能でしょうか? BOOKのファイル名が「大阪_たこ焼き_1234.xls」の場合 大阪_と.xlsをは省いて、「たこ焼き_1234」がA1セルに入るようにしたい。
- ベストアンサー
- オフィス系ソフト
- VBAでファイル名の変更の方法
VBAでAというファイルをBというファイル名に変更したいのですが、方法がわかりません。 リネームする方法を教えて下さい。よろしくお願いします。
- ベストアンサー
- Visual Basic
- ファイル名を変更できない!
ヴォイスレコーダーを使用していますが、自動でファイルに連番をつけてくれます。 その連番が099を超えたらなぜか全て 0:0 (ゼロコロンゼロ)になってしまい、 コピーもファイル名の変更もできなくなりました。 099移行のファイル名は全て VOICE0:0.mp3 です。なぜか同じフォルダ内に同じファイル名が ずらりと並んでいます。 リネームソフトのRlexible Renamerでも受け付けてくれませんでした。 これらをコピーするにはどうしたらよいでしょうか? これらをリネームするにはどうしたらよいでしょうか?
- ベストアンサー
- Windows XP
- 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)で指定できないので困っています。
- ベストアンサー
- Visual Basic
- Excel VBA ファイルをまとめる
Excel2003にてフォルダにある複数ファイル(8個)の各1番左のシートを 指定したファイルにまとめるVBAを組みたいと思います。 まとめる際、ファイル名の一部を取得し、シート名にしたいのですが可能でしょうか? 例: ファイル名:20110927_△△△△株式会社.xls ⇒ シート名:△△△△株式会社 ※ファイルの個数は固定ですが、年月の部分は変わります。 簡単なVBAの経験しかなく、キーワード検索でもしっくりこないものばかりで どのようにコードを記述してよいのか非常に困っています。
- ベストアンサー
- Visual Basic
- 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)"は書き方がおかしいみたいで、正しい書き方を教えてください。
- 締切済み
- Visual Basic
- 任意のファイル名の変更
ファイル名がD303????.csv。????に日付がはります。たとえばD3031214(正確には時間まで含めたファイル名)みたいに、自動でファイルがシステム上毎日作成されます。そのうち、一番新しいファイルをリネーム、単純にD303.CSVにしてエクセルで利用したい。手順的にはエクセルをたちあげて、マクロ(VBA)を起動し、たくさんあるD303????.csvのうち一番新しいものをD303.CSVにリネームしてエクセルのシートに貼り付ける。ファイル名の変更にワールド文字がつかえないので困っています。何かいい方法はありませんか。できれば、例文もおしえていただけえばありがたいのですが。
- ベストアンサー
- Visual Basic
- VBAでエクセルからエクセルのファイルを開くには?
D:\に db1.mdb Book1.xls があります。 db1.mdbのフォームのコマンドボタンをクリックして Book1.xlsを開きたいのですが VBAコードをご教授いただけますか? (マクロではなくVBAコードが知りたいです) エクセルからエクセルのファイルを開くなら Workbooks.Open ファイルのフルパス で出来ました。 ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
お礼
早速のご回答ありがとうございます。 大変勉強になり、解決もいたしました。 ありがとうございました。