Public Function ExportToXML(FullPath As String, RowName As String) As Boolean On Error GoTo ErrorHandler Dim colIndex As Integer Dim rwIndex As Integer Dim asCols() As String Dim oWorkSheet As Worksheet Dim sName As String Dim lCols As Long, lRows As Long Dim iFileNum As Integer Set oWorkSheet = ThisWorkbook.Worksheets(2) sName = oWorkSheet.Name lCols = oWorkSheet.Columns.Count lRows = oWorkSheet.Rows.Count ReDim asCols(lCols) As String iFileNum = FreeFile Open FullPath For Output As #iFileNum For i = 0 To lCols - 1 'Assumes no blank column names If Trim(Cells(1, i + 1).Value) = "" Then Exit For asCols(i) = Cells(1, i + 1).Value Next i If i = 0 Then GoTo ErrorHandler lCols = i Print #iFileNum, "<?xml version=""1.0""?>" Print #iFileNum, "<" & sName & ">" For i = 2 To lRows If Trim(Cells(i, 1).Value) = "" Then Exit For Print #iFileNum, "<" & RowName & ">" For j = 1 To lCols If Trim(Cells(i, j).Value) <> "" Then Print #iFileNum, " <" & asCols(j - 1) & "><![CDATA["; Print #iFileNum, Trim(Cells(i, j).Value); Print #iFileNum, "]]></" & asCols(j - 1) & ">" DoEvents 'OPTIONAL End If Next j Print #iFileNum, " </" & RowName & ">" Next i Print #iFileNum, "</" & sName & ">" ExportToXML = True ErrorHandler: If iFileNum > 0 Then Close #iFileNum Exit Function End Function
Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.
When asked, what has been your best career decision?
Deciding to stick with EE.
Being involved with EE helped me to grow personally and professionally.
Connect with Certified Experts to gain insight and support on specific technology challenges including:
We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE