• ベストアンサー

Excel マクロで、ファイル形式を一括変更したい

Excel マクロで、ファイル形式を一括変更したいです。 デスクトップにある「Aフォルダ」の中に xlsファイルが100ほどあります。 それらのファイルを xlsxファイルに変更して、同じくデスクトップにある「Bフォルダ」に保存したいです。 わからないなりに、つぎはぎでやってみたのですが、保存場所の指定がうまくいかなくて困っています。 よろしくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.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)
回答No.1

図の様に入力フォルダと出力フォルダを入れて実行して下さい。 マクロは消えます。 ' 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

関連するQ&A