2016-07-26 83 views
1

如何将xml文件转换为xlsx使用VBA将xml文件转换为xlsx文件

xml文件存在于一个文件夹中,我想将xlsx文件保存到其他文件夹。

例子:

现有文件:C:\Users\John\Documents\xml\data.xml
转换为这样:C:\Users\John\Documents\xlsx\data.xlsx

+0

,最好的办法是写在Excel宏或导入XML到Excel。 Excel有一个属性可以将xml作为表格导入。您可以通过VBA宏来扩展它。 – devutkarsh

+0

尝试用@anonxss提到的方法录制一个宏,看看是否会出现什么会适合你。 –

+0

是的,宏是我所要求的! :)有人可以写这个代码?因为我没有。这个文件夹包含更多的xml文件,所以VBA代码应该根据这种情况写入。 – vergab

回答

0

我做到了。

Public Sub ConvertXmlToXlsx() 

Application.DisplayAlerts = False 

Dim objFSO As Object 
Dim objFolder As Object 
Dim objFile As Object 

xmlFolder = "C:\Users\John\Documents\xml\" 
convFolder = "C:\Users\John\Documents\xls\" 


Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objFolder = objFSO.GetFolder(xmlFolder) 
For Each objFile In objFolder.Files 
    If UCase(Right(objFile.Name, Len(XML))) = UCase(XML) Then 
     NewFileName = convFolder & objFile.Name & "_conv.xlsx" 

     Set ConvertThis = Workbooks.Open(objFolder & "\" & objFile.Name) 
     ConvertThis.SaveAs Filename:=NewFileName, FileFormat:= _ 
     xlOpenXMLWorkbook 
     ConvertThis.Close 
    End If 
Next objFile 

末次

0

这是你的努力呢?

Option Explicit 
Public Sub XML_To_xlsx() 
    Dim FilePath As String 
    Dim Book As Workbook 

' Load XML Data to New Workbook 
    FilePath = "C:\Users\John\Documents\xml\data.xml" 
    Set Book = Workbooks.OpenXML(FilePath) 

    'Copy to active Worksheet 
    Book.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets("Sheet1").Range("A1") 

    'Close New Workbook 
    Book.Close False 
End Sub 
+0

差不多:)看到我的代码如下。 – vergab

相关问题