Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2016)
テキストファイルの拡張子を一括変換
投稿日時: 19/07/19 23:23:43
投稿者: バルバロッサ

こんばんは
件名に書かせてもらったように、フォルダーにあるテキストの拡張子を一括変換するためのプログラムを作ったのですが、うまくいきません。
 
Sub ChangeName()
Dim n As Long
Dim fd As FileDialog
 
    Set fd = Application.FileDialog(msoFileDialogOpen)
    With fd
      .Filters.Add "テキストファイル", "*.txt", 1
      .AllowMultiSelect = True
    End With
     
Dim fName As String
    If fd.Show = -1 Then
        For n = 1 To fd.SelectedItems.Count
            fName = Replace(fd.SelectedItems.Item(n), ".TXT", ".txt")
Debug.Print fName
        Next n
    End If
End Sub
 
個人的には、ファイル名抽出して、そのまま小文字にしているだけです。
一応イミディエイトでは、小文字に変換されているですが、この後が続きません。
フォルダ内の大文字の拡張子を小文字に出来るのでしょうか?
よろしくお願いいたします。
 
 
 

回答
投稿日時: 19/07/20 07:03:49
投稿者: simple

VBA組込のNameステートメントでファイル名を変更してはどうですか?
手元のVBAのヘルプに説明がありますよ。

投稿日時: 19/07/20 11:41:00
投稿者: バルバロッサ

Simple様
毎回、お世話になっております。
お教え頂いた所に関して
Dim fName As String
    If fd.Show = -1 Then
        For n = 1 To fd.SelectedItems.Count
            fName = Replace(fd.SelectedItems.Item(n), ".TXT", ".txt")
            Name fd.SelectedItems.Item(n) As fName
        Next n
    End If
End Sub
上記のように変更したら、あっさりで変換できました。
この度も、勉強になりました。
 
誠にありがとうございました。