2016-07-21 2 views
0

내 폴더의 여러 .xml 파일을 .xlsx 파일로 변환하려고합니다. 나는 100 개가 넘는 파일을 가지고 있으며, 수동으로 각 파일을 .xlsx로 저장하는 것은 지루할 것입니다. 그래서 매크로 사용을 생각했습니다. 이 코드는 특정 파일에 대해서만 실행되며 내 폴더의 모든 파일에 대해 어떻게 작동하게합니까?VBA를 사용하여 폴더에 저장된 여러 .xml 파일의 파일 형식을 .xlsx 파일 형식으로 변경하는 방법

Sub macroconvt() 
' 
' macroconvt Macro 
' 

' 
    ChDir _ 
     "S:\Research and Analysis\Interns\2016\Summer\New RCA Macro\Layout files\converted excel files" 
    ActiveWorkbook.SaveAs Filename:= _ 
     "S:\Research and Analysis\Interns\2016\Summer\New RCA Macro\Layout files\converted excel files\FIRM_Limit Excessive Hours_19JUL16.xlsx" _ 
     , FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False 
End Sub 

는 당신에게 FileSystemObject

+2

가능한 복제 [? 사용하여 폴더에있는 파일을 통해 루프 VBA (http://stackoverflow.com/ 질문/10380312/loop-through-files-in-a-folder-using-vba). 폴더의 파일을 반복하려면 해당 링크를 참조하십시오. –

답변

0

사용을 감사, 이런 식으로 뭔가 :

Dim FSO, tFolder, tFiles, tFile As Object 
Dim fp As String 
Dim wb as workbook 

Set FSO = CreateObject("Scripting.FileSystemObject") ' create FSO via late binding 

fp = "Put your folder path here" 

Set tFolder = FSO.GetFolder(fp) ' set FSO folder 
Set tFiles = tFolder.Files ' get files collection 

For Each tFile In tFiles 

     Set wb= Application.Workbooks.Open(tFile.Path) ' open the file 
     ' do what you want with the workbook e.g. wb.SaveAs etc 

Next tFile 
관련 문제