Предполагая, что весь XML действительно является допустимым форматом XML, и вам просто нужно экспортировать каждую ячейку как отдельный файл, вы можете использовать следующий VBA:
Sub ExportCellsToXMLFiles()
On Error GoTo err:
Dim OutputFolder: OutputFolder = "D:\Test\XML\" 'Specify a valid dir to output to - make sure you include the trailing slash.
Dim objFSO: Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim objFile
Dim Count: Count = 1 'Row number to start on
Do
Set objFile = objFSO.CreateTextFile(OutputFolder & "Invoice_" & Count & ".xml", False, True) ' You can change the file names if needed here
objFile.Write (Cells(Count, 1).Value)
objFile.Close
Count = Count + 1
Loop Until IsEmpty(Cells(Count, 1).Value)
err:
Set objFile = Nothing
Set objFSO = Nothing
End Sub
РЕДАКТИРОВАТЬ: Я думаю, что некоторые программы, возможно, не интерпретируют это правильно, поскольку они ожидают кодировку UTF-8. Попробуйте этот код вместо этого:
Sub ExportCellsToXMLFiles()
On Error GoTo err:
Dim OutputFolder: OutputFolder = "D:\Test\XML\"
Dim fsT As Object
Dim Count: Count = 1
Do
Set fsT = CreateObject("ADODB.Stream")
fsT.Type = 2
fsT.Charset = "utf-8"
fsT.Open
fsT.WriteText (Cells(Count, 1).Value)
fsT.SaveToFile OutputFolder & "Invoice_" & Count & ".xml", 2
Count = Count + 1
Loop Until IsEmpty(Cells(Count, 1).Value)
err:
Set fsT = Nothing
End Sub