2016-07-26 192 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