- ベストアンサー
ファイルの名前を変更したい
お世話になります。 エクセルVBAで作成しております。 「E:\フォルダ」にある拡張子が「.txt」のファイルを全て、「.xls」の 拡張子に変更したいのですが、どのようにVBAを作成すればよいでしょうか? 何卒宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>だめです。 >えらーでました。 Name "E:\フォルダ\" & strFileName As ""E:\フォルダ\*.xls" を Name "E:\フォルダ\" & strFileName As ""E:\フォルダ\" & Left(strFileName,Len(strFileName) - 3) & "xls" にしてみてください。 因みに「ファイルの拡張子名を変えるだけで、ファイルの中身などはそのままで構わない」のですよね? 「ファイルの中身も変換する」つまり「ファイルの形式も変換する」のであれば、これだけでは済みません。
その他の回答 (3)
- MSZ006
- ベストアンサー率38% (390/1011)
他の方の回答の補足となってしまいますが・・・ Dim strFileName As String strFileName = Dir("E:\フォルダ\*.txt", vbNormal) Do While strFileName <> "" Name "E:\フォルダ\" & strFileName As "E:\フォルダ\" & Left(strFileName,Len(strFileName)-4) & ".xls" strFileName = Dir() Loop
お礼
ありがとうございます!!!
- kmee
- ベストアンサー率55% (1857/3366)
「ファイル名を変更したい」なのか、「ファイル形式を変更して保存したい」なのか、「.txtを.xlsに置換した文字列が欲しい」なのか、はっきりさせてください。 それぞれでやり方が違います。 「VBAの一連のながれの1ステップ」だとすると、「ファイル形式変更」「置換した文字列」のような気はするのですが。 ファイル名変えただけでは、xls形式にはなりませんから。
補足
>「ファイル名を変更したい」なのか、「ファイル形式を変更して保存したい」なのか、 >「.txtを.xlsに置換した文字列が欲しい」なのか、はっきりさせてください。 「E:\フォルダ」にある拡張子が「.txt」のファイルを全て、「.xls」の 拡張子に変更したいのですが。。。 >ファイル名変えただけでは、xls形式にはなりませんから。 txtの中に挿入する情報は、htmlの情報です。 xls形式にするだけで,大丈夫です。 ソース出してくださいね。
- chie65536(@chie65535)
- ベストアンサー率44% (8742/19841)
>「E:\フォルダ」にある拡張子が「.txt」のファイルを全て、「.xls」の拡張子に変更したいのですが コマンドプロンプトで「1行打ち込むだけ」で済むのですが、どうしてもVBAでやりたいのでしょうか? Dim strFileName As String strFileName = Dir("E:\フォルダ\*.txt", vbNormal) Do While strFileName <> "" Name "E:\フォルダ\" & strFileName As ""E:\フォルダ\*.xls" strFileName = Dir() Loop Nameの行で、変更後ファイル名に「*」が使えるかどうかをテストしてないので、上手く行くかどうかは判りません。 上手く行かない場合は、拡張子部分の「txt」の3文字を「xls」に置き換えた文字列を作って、それを変更後ファイル名に指定しましょう。
補足
>コマンドプロンプトで「1行打ち込むだけ」で済むのですが、どうしてもVBAでやりたいので >しょうか? VBAの一連のながれの1ステップとして実現したいので、 VBAでどうしてもやりたいのです。 >Nameの行で、変更後ファイル名に「*」が使えるかどうかをテストしてないので、上手く行く>かどうかは判りません。 だめです。 えらーでました。
お礼
いけました!! ありがとうございます!! >因みに「ファイルの拡張子名を変えるだけで、ファイルの中身などはそのままで構わない」 >のですよね? 実現したい環境では、「手動で.txtの拡張子を.xlsに変更→OK」ですので 大丈夫です!!! ありがとうございます!!!!