- ベストアンサー
Excel マクロで、ファイル形式を一括変更したい
Excel マクロで、ファイル形式を一括変更したいです。 デスクトップにある「Aフォルダ」の中に xlsファイルが100ほどあります。 それらのファイルを xlsxファイルに変更して、同じくデスクトップにある「Bフォルダ」に保存したいです。 わからないなりに、つぎはぎでやってみたのですが、保存場所の指定がうまくいかなくて困っています。 よろしくお願いします
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>デスクトップにある「Aフォルダ」の中に xlsファイルが100ほどあります Sub Test() Dim fso As Object Dim f As Object Dim myBook As Workbook Dim myPath As String, bn As String Application.ScreenUpdating = False myPath = CreateObject("WScript.Shell").SpecialFolders("Desktop") Set fso = CreateObject("Scripting.FileSystemObject") For Each f In fso.GetFolder(myPath & "\A").Files If LCase(fso.GetExtensionName(f)) = "xls" Then bn = fso.GetBaseName(f) Set myBook = Workbooks.Open(f) myBook.SaveAs Filename:=myPath & "\B\" & bn, FileFormat:=xlWorkbookDefault myBook.Close False End If Next Set fso = Nothing Application.ScreenUpdating = True MsgBox "End" End Sub
その他の回答 (1)
- SI299792
- ベストアンサー率47% (774/1620)
図の様に入力フォルダと出力フォルダを入れて実行して下さい。 マクロは消えます。 ' Option Explicit ' Sub Macro1() ' Dim FileName As String ' FileName = Dir([B1] & "\*.xls") Application.DisplayAlerts = False ' While FileName > "" Workbooks.Open [B1] & "\" & FileName ActiveWorkbook.SaveAs ThisWorkbook.ActiveSheet.[B2] & "\" & FileName & "x", _ xlOpenXMLWorkbook ActiveWindow.Close FileName = Dir Wend Application.DisplayAlerts = True End Sub