多くの.xlsファイルが異なるフォルダにあります。これらを.xlsxファイル拡張子に変換したいと思います。フォルダファイルの場所を指定するとコードがうまく動作しますが、ディレクトリ内のすべてのフォルダを表示し、.xlsファイルを.xlsxに一度に変換するように変更したいと思います。私はちょっと立ち往生している。ここに私のコードは次のとおりです。excelファイルのファイル拡張子を変更するディレクトリ内のすべてのフォルダを調べる方法は?
Dim strCurrentFileExt As String
Dim strNewFileExt As String
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim xlFile As Workbook
Dim strNewName As String
Dim strFolderPath As String
strCurrentFileExt = ".xls"
strNewFileExt = ".xlsx"
strFolderPath = "C:\myExcelFolders"
If Right(strFolderPath, 1) <> "\" Then
strFolderPath = strFolderPath & "\"
End If
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.getfolder(strFolderPath)
For Each objFile In objFolder.Files
strNewName = objFile.Name
If Right(strNewName, Len(strCurrentFileExt)) = strCurrentFileExt Then
Set xlFile = Workbooks.Open(objFile.Path, , True)
strNewName = Replace(strNewName, strCurrentFileExt, strNewFileExt)
Application.DisplayAlerts = False
Select Case strNewFileExt
Case ".xlsx"
xlFile.SaveAs strFolderPath & strNewName, XlFileFormat.xlOpenXMLWorkbook
Case ".xlsm"
xlFile.SaveAs strFolderPath & strNewName, XlFileFormat.xlOpenXMLWorkbookMacroEnabled
End Select
xlFile.Close
Application.DisplayAlerts = True
End If
Next objFile
私はFSO [Documentation](http://stackoverflow.com/documentation/vba/990/scripting-filesystemobject#t=201704132040476242171)に、あなたが知る必要があるすべてがあると思います。そうでない場合は、改善または新しい例をリクエストしてください。 –